Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione di dati
Ho un foglio di lavoro e nella colonna "A" ho i giorni del mese che ovviamente vengono visualizzati o meno al secondo del mese in corso, quindi, se Marzo 31, se Febbraio 28/29 e cosi via.
Nella colonna "B" ho una drop box con 4 voci in elenco. Quando, per esempio passo dal mese di Gennaio (31 gg) a Febbraio (28gg) la data si aggiorna ma le ultime tre celle della drop box restano popolate e devo cancellare a mano i dati. Sarebbe possibile una formula sulla dropbox che se "A30" è vuota cancella i dati presenti nella cella "B30" ?
Sarebbe opportuno conoscere la versione che utilizzi per capire se fattibile con le formule e, meglio, il file su cui stai lavorando per capirne la struttura e contestualizzare meglio la soluzione.
Un modo con VBA (codice da inserire nel modulo del foglio, modificando la riga commentata):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range
With ActiveSheet
If Not Intersect(Target, .Range("A1:A31")) Is Nothing Then
Application.EnableEvents = False
.Range("B1:B31").Validation.Delete
With .Range("B1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Validation
.Add xlValidateList, xlValidAlertStop, xlBetween, "a,b,c,d" ' <--- da modificare con le quattro voci che usi
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
For Each rngCell In .Range("A1:A31")
If rngCell = "" Then rngCell.Offset(, 1).ClearContents
Next rngCell
Application.EnableEvents = True
End If
End With
End Sub
Ciao.