Ciao MKino8, benvenuto nel forum.
Hai descritto in modo vago quel che devi fare, quindi la risposta non puo' che essere vaga...
Esempio:
Ho la cella B10 che contiene un valore testuale e le righe 15 e 16 non sono visibili, perciò nascoste, se questo valore cambia con un altro allora tali righe diventano visibili e scoperte, e viceversa se si rimette tale valore iniziale.
Prova con questa macro:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim arRange, aFrasi
'
If Target.Address = "$B$10" Then
aFrasi = Array("prima", "seconda", "terza frase", "Quarta frase") '<<< Le frasi
arRange = Array("20:22", "25:26", "18:19,23:23", "28:29,33:34") '<<< Le righe che nascondono
For I = 0 To UBound(arRange)
If InStr(1, Target.Value, aFrasi(I), vbTextCompare) > 0 Then
Rows(arRange(I)).Hidden = True
Else
Range(arRange(I)).EntireRow.Hidden = False
End If
Next I
End If
End Sub
Va messa nel "modulo vba del foglio su cui lavori"; per questo, partendo da Excel:
-tasto dx sul tab col nome del foglio su cui lavori, scegli Visualizza codice
-copi il codice e lo incolli nel frame destro vuoto dell'editor delle macro che si e' aperto
Le righe marcate <<< vanno personalizzate come da commento; in pratica ogni frase scritta in aFrasi comanda il "nascondimento" delle righe indicare in arRange (se trovata all'interno della cella B10, le righe vengono nascoste; se non trovata le righe vengono visualizzate). Questo avviene tutte le volte che la cella B10 viene modificata da tastiera.
E' possibile "cablare" in B10 piu' di una frase, nel qual caso ogni corrispondente gruppo di righe verra' nascosto.
Prova a personalizzarla per il tuo scopo; e se ti areni, spiega che cosa hai fatto, cosa hai ottenuto, che cosa non hai ottenuto, oltre a spiegare con "maggiori dettagli" la tua richiesta.
Ciao