Chiedo aiuto su un file Excel (lavoro con la versione 2010), premetto che di VBA capisco proprio poco quindi chiedo scusa per la mia ignoranza. Detto ciò veniamo al quesito:
vorrei avere delle una serie di righe adiacenti nascoste che vengano mostrate, una alla volta, quando una cella della riga precedente viene riempita con un qualsiasi valore.
Vorrei inoltre che se cancello la cella che ho riempito la riga che si è mostrata torni a nascodersi.
Grazie all'aiuto di altri esperti del mondo VBA sono arrivato ad avere una macro che fa quello che mi serve ma che in una certa situazione mi genera un errore di run-time '13' che non mi so spiegare e che gradirei correggere.
L'errore capita quando vado a selezionare un range di celle adiacenti della colonna A (quelle su cui effettuo i controlli per mostrare/nascondere le righe) e le cancello contemporaneamente.
Ricapitolando se cancello il valore immesso nella cella (es. A6)mi si cancella anche la riga (6) a cui questa appartiene, ma se cancello contemporaneamente più di una cella (es. A6:A10) mi da un errore.
allego il codice di cui parlo:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A4:A20")) Is Nothing Then
Select Case Target.Value
Case Is <> ""
Range("a" & Target.Row + 1).EntireRow.Hidden = False 'istruzioni per scoprire la riga
Case Is = ""
Range("a" & Target.Row + 1).EntireRow.Hidden = True 'istruzioni per nascondere la riga
End Select
End If
End Sub
e il file di esempio:
http://www.filedropper.com/righenascoste
Grazie per qualunque tipo di aiuto