Devi fare così:
- Apri l'editor di VB: menu Strumenti > Macro > Visual Basic Editor (ALt+F11)
- Nell'editor VB crea un Modulo che contenga la funzione personalizzata: menu Inserisci > Modulo
- Crea la funzione personalizzata: menu Inserisci > Routine
- Compila la finestra coi seguenti dati:
Nome: SommaMese
Tipo: Function
Area di validità: Public
- Ti comparirà l'editor con il seguente codice:
codice:
Public Function SommaMese()
End Function
Devi modificarlo così:
codice:
Public Function SommaMese(IntervalloValori As Range, IntervalloDate As Range, MeseScelto As Long)
SommaMese = 0
puntvalore = 1
For Each cella In IntervalloValori
puntdata = 1
For Each celladata In IntervalloDate
If puntvalore = puntdata Then
If CLng(Month(celladata.Value)) = MeseScelto Then
SommaMese = SommaMese + cella.Value
End If
End If
puntdata = puntdata + 1
Next
puntvalore = puntvalore + 1
Next
End Function
Ora vai nella cella dove vuoi il totale calcolato e puoi usare la funzione SommaMese con questa sintassi:
=SommaMese(IntervalloValori; IntervalloDate; NumeroMeseScelto)
ad es:
codice:
=SommaMese(D1:D38;C1:C38;2)
mapporc non riesco a non far visualizzare la faccina :D...
Qui lo scrivo con uno spazio tra D1: e D38, tu togli lo spazio
=SommaMese(D1: D38;C1:C38;2)