ho fatto in un foglio excel, che vi allego come esempio (così ci comprendiamo meglio) http://www.filedropper.com/checkbox2221, una serie di checkbox selezionabili con un pulsante seleziona tutto con il seguente codice:
- Codice: Seleziona tutto
Sub select_all()
Dim rng As Range
Dim cel As Range
Set rng = Range("d1:d6")
For Each cel In rng
If cel.Value = True Then
cel.Value = False
ElseIf cel.Value = False Then
cel.Value = True
End If
Next cel
End Sub
Oltre a questo pulsante ne ho un altro con cui posso modificare dei valori. Il problema è che se la cella rimane vuota (es. vedi riga 5, colonna B del file in allegato) e la checkbox è selezionata poi cliccando sul pulsante "modifica" dà un errore di run time(pur cambiando i valori delle altre checkbox).
Vorrei inserire dunque nel codice qualcosa del genere "se colonna B= stringa vuota allora passa alla riga/checkbox successiva".
Ho provato a inserire questo codice
- Codice: Seleziona tutto
If cel.Value = False Then And cel.Offset(0, -2).Value = "" Then
cel.Value = False
In modo tale che il pulsante "seleziona tutti" seleziona tutte le checkbox ma se la la cella nella colonna B è vuota allora la lascia deselezionata (su False).
Però così non funziona. Sapete aiutarmi?