| Area selezione tabella di
Antonio_vba |
Ciao a tutti! premetto: è da poco che uso vba
ed è la prima volta che scrivo in un forum. dovrei risolvere il
seguente problema mediante macro: ho una tabella contenente in
ogni singola cella dei valori numerici; selezionando un' area vorrei
poter ottenere la media dei valori selezionati e poter nominare l'
area stessa. come posso fare?
grazie |
|
| di Enzo |
Ipotizzando che tu abbia dei valori es. nelle celle
a1 b1 c1 d1 vai in un altra cella ed inserisci questa funzione
=media(a1:d1)- in quella casella ti viene restituito come risultato
la media delle celle evidenziate diverse tipologie di funzioni
le trovi cliccando in alto in excel in "inserisci" e poi "funzioni"
non capisco cosa vuoi dire con nominare l'area stessa. bye
fai sapere |
|
| di Enzo |
Se per caso intendi attribuire un nome alla zona
evidenziata per il calcolo della media (nell'esempio a1 d1) non
fai altro che evidenziare le celle ed in alto a sinistra sulla barra
degli strumenti troverai una cella piu ' grande dove si evidenzia la
cella di partenza, clicca li dentro e scrivi il nome da attribuire
alla tua zona nel momento in cui andrai a richiamare quel nome
sul tuo foglio excel si evidenziera' la zona corrispondente.
sempre se intendevi questo......
|
|
| di Antonio_vba |
Grazie per le risposte ma intendevo altro.
nell' esempio di codice seguente calcolo la media mediante macro
in un' area contenente le celle b2:c4. cerco invece una macro che
possa darmi la possibilità di variare tale area mediante selezione
diretta delle celle tramite mouse. inoltre una volta evidenziata un'
area devo poterla nominare e salvare nome e media in un database.
Worksheets("Foglio2").Activate
Dim myRange As Range
Set myRange = Worksheets("Foglio2").Range("B2:C4")
answerAverage = Application.WorksheetFunction.Min(myRange)
MsgBox "Il valore medio è " & answerAverage
| |
|
| Selezione media di Big
ronnie |
Ciao antonio,credo che sitemando i
riferimenti,questa macro fà al caso tuo.
Sub Media()
Dim Intervallo As String
Sheets(1).Activate
Dim myRange As Range
Set myRange = Range(Selection.Address(RowAbsolute:=False, ColumnAbsolute:=False))
Intervallo = "Range(" & Application.Selection.Address(RowAbsolute:=False, ColumnAbsolute:=False) & ")"
answerAverage = Application.WorksheetFunction.Average(myRange)
MsgBox "Il valore medio è " & answerAverage
Sheets(2).Activate
Range("A1").Select
Do
ActiveCell.Offset(1).Select
Loop Until ActiveCell.Value = ""
ActiveCell = Intervallo
Cells(ActiveCell.Row, 2) = answerAverage
End Sub
| |