| | Post: 285 | Registrato il: 13/12/2015
| Città: MILANO | Età: 58 | Utente Junior | 2010 | | OFFLINE | |
|
20/01/2020 06:30 | |
Ciao a tutti.
in rete è presente spesso questo quesito ma focalizzato su una cella specifica.
Sub cancella_vuote()
ur = Range(“a” & Rows.Count).End(xlUp).Row
For v = ur To 1 Step -1
If Range(“a” & v) = “” Then
Range(“a” & v).Select
Selection.EntireRow.Delete
End If
Next v
End Sub
Io vorrei invece imparare come eliminare l'intera riga se una serie di celle della stessa sono vuote.
In pratica nel file allegato vorrei cancellare la riga 3 corrispondente al nome Clocky perchè il range (D:H) ha tutte le celle vuote.
Grazie per l'aiuto.
[Modificato da BG66 20/01/2020 06:31] BG66
Excel 2010 |
|
| | Post: 4.204 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
20/01/2020 07:00 | |
Sub cancella_vuote()
LR = Range("a" & Rows.Count).End(xlUp).Row
For r = LR To 1 Step -1
s = ""
For c = 4 To 8
s = s & Cells(r, c)
Next
If s = "" Then Rows(r).Delete
Next
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 285 | Registrato il: 13/12/2015
| Città: MILANO | Età: 58 | Utente Junior | 2010 | | OFFLINE | |
|
20/01/2020 21:21 | |
Buonasera Patel45,
il file originale ha vari fogli. Se volessi puntare ad un foglio specifico (Foglio5). Come modifico lo script?
Grazie per l'aiuto. [Modificato da BG66 20/01/2020 21:21] BG66
Excel 2010 |
|
20/01/2020 23:34 | |
>>> “a”
Volevo solo fare presente che... “ , ” sono differenti da "
Nel caso le righe fossero migliaia, usando (conta.se) è più veloce
>>>Se volessi puntare ad un foglio specifico (Foglio5)
ALT+F11 Basta selezionare il foglio specifico (sulla sinistra ed inserirlo alla destra)
Sub cancella_vuote()
Dim ur As Long, v As Long
Sheets("Foglio5").Activate' Se hai inserto il codice in un modulo
ur = Range("a" & Rows.Count).End(xlUp).Row
For v = ur To 2 Step -1 'meglio mettere 2
If Application.WorksheetFunction.CountIf(Range(Cells(v, 4), Cells(v, 8)), "") = 5 Then
Rows(v & ":" & v).EntireRow.Delete
End If
Next v
End Sub |
| | Post: 4.205 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
21/01/2020 07:39 | |
ottima l'idea di usare CountIf
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
|
|