Ciao,
scusa, non ho spiegato nel dettaglio perché mi sembrava chiaro ma rimedio subito.
Il ciclo For Each esamina un range casella per casella (dall'alto in basso e da sinistra a destra) e pone l'elemento in esame, cioè una casella alla volta, con tutte le sue proprietà, nella variabile Casella.
All'interno del ciclo si possono quindi interrogare le proprietà di Casella come Casella.Value che è il contenuto o Casella.Row che è la riga o Casella.Column che è la colonna.
Nelle celle (1,8) e (2,8) andavo quindi a mettere la riga e la colonna della casella in esame ma solo se il contenuto superava il test. In altre parole andavo a mettere la riga e la colonna della casella che contiene il testo cercato.
I valori 1,8 e 2,8 li ho scelti a caso, è solo un modo per visualizzare dei valori in excel, li metti in una cella qualsiasi così li vedi.
Un'altra proprietà che potrebbe tornarti utile è la Offset che permette di puntare ad una casella spostata di un certo numero di righe e colonne rispetto a quella a cui viene applicata.
Per scrivere, per esempio, paperino, due celle più a destra di quella che contiene pippo basta fare così:
E' un po' più chiaro ora?codice:For Each Casella In Worksheets("Foglio1").Range(Cells(1, 1), Cells(10, 1)) If CStr(Casella.Value) = "pippo" Then Casella.Offset(0, 2) = "paperino" End If Next
![]()

Rispondi quotando