vorrei avere semplicemente un conteggio automatico di questi valori
Un po’ poco come risposta, ma ti aiuto lo stesso.
Metti questa macro nel foglio macro del “Fogliox” su cui lavori.
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
'>>1: controllare target.address per determinare
'>> se eseguire o no
Application.EnableEvents = False
Form1 = Target.Formula
'MsgBox (Form1)
I = 0: MaxI = Len(Form1)
CNum:
I = I + 1
If I > MaxI Then GoTo Esci
If IsNumeric(Mid(Form1, I, 1)) Then
Adddi = Adddi + 1
CSimb:
I = I + 1: If I > MaxI Then GoTo Esci
If IsNumeric(Mid(Form1, I, 1)) Then GoTo CSimb
End If
GoTo CNum
Esci:
MsgBox (Adddi)
Application.EnableEvents = True
End Sub
In testa devi introdurre la verifica che la macro venga richiamata dagli indirizzi di cella che vuoi controllare, es.
- Codice: Seleziona tutto
If target.address <> “$A$1” then Exit Sub
Il numero di addendi ti viene restituito nel message box, sostituisci l’ istruzione MsgBox con quello che ti serve. Funziona anche con i riferimenti diretti alle celle (es =A5+A6), ma non su riferimenti multipli (es Somma(A5:A20)) o funzioni concatenate.
Ciao.