Media delle celle

  • 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