calculon ha scritto:Posso chiederti come fai a selezionare una cella sulla base del suo contenuto e poi selezionare attivare il range che va dalla stessa fino alla 5à a dx?
Certo!
ti dice nulla questo passo?
- Codice: Seleziona tutto
If UCase(Ws1.Range("B" & RR).Value) = "MAMMA" Then
Ws1.Range("B" & RR).Value = Ws1.Range("B" & RR).Value & " " & Ws1.Range("C" & RR).Value & " " & Ws1.Range("D" & RR).Value & " " & Ws1.Range("E" & RR).Value & " " & Ws1.Range("F" & RR).Value & " " & Ws1.Range("G" & RR).Value & " " & Ws1.Range("H" & RR).Value
End If
Spiego
prima riga se la cella è "MAMMA" allora
- Codice: Seleziona tutto
Range("B" & RR).Value = '<<<<il valore della cella deve essere uguale a...
Dove RR è la variabile riga per riga definita dal For... next
quindi prima B1, poi B2, B3, B4, etc
Quindi se in B1 trovo MAMMA allora "concatena"...
- Codice: Seleziona tutto
Range("B" & RR).Value & " " & Range("C" & RR).Value & " " & Range("D" & RR).Value & " " & Range("E" & RR).Value & " " & Range("F" & RR).Value & " " & Range("G" & RR).Value & " " & Range("H" & RR).Value
significa B1 + spazio + C1 + spazio + D1 + etc
Il Ws1. è solo il foglio che in questo esempio ho tolto ma nella macro potrebbe essere necessario perché potresti attivare la macro da un altro foglio e non otterresti i risultati voluti
ciao