Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Eliminare riga se tutto il range è vuoto

Ultimo Aggiornamento: 21/01/2020 07:39
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
Vota: 15MediaObject5,0025 2
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 09:27. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com