Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE

Postdi luca62 » 15/01/16 18:38

Sto letteralmente sbattendo la testa su una macro alla fine della quale voglio far si di cancellare
tutte le righe (eccetto la 1^) tranne quelle in cui Ni sia o una cella vuota o una cella = 00/01/00

allego la macro dove sbaglio?
e cosa cambia se invece voglio cancellare tutte le righe in cui nella colonna M sia presente una
data più recente di oggi?

[code][/code]
Sub DAARRIVARE()
Set Ws1 = Sheets("ORDINI")
Set Ws2 = Sheets("DA ARRIVARE")

UC = Ws1.Cells(2, Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
Application.Calculation = xlManual

Ws2.Cells.Clear
For CC = 1 To UC - 12 Step 14
Ws1.Range(Ws1.Cells(2, CC), Ws1.Cells(1000, CC + 14)).Copy Destination:=Ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Next CC
Ws1.Range("A1:N1").Copy Destination:=Ws2.Range("a1")

UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
For RR2 = UR2 To 2 Step -1
If Ws2.Range("N" & RR2).Value <> "" Or Ws2.Range("N" & RR2).Value <> "00/01/00" Then Ws2.Rows(RR2).Delete
Next RR2

End Sub
luca62 office2007 window7
luca62
Utente Senior
 
Post: 158
Iscritto il: 23/12/12 14:54

Sponsor
 

Re: CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE

Postdi Anthony47 » 17/01/16 01:49

Se non sappiamo cosa effettivamente c'e' nella colonna possiamo solo andare a tentoni...
Secondo me quella cella contiene "nulla" oppure 0, e la cella e' formattata "Data"; quindi invece di
If Ws2.Range("N" & RR2).Value <> "" Or Ws2.Range("N" & RR2).Value <> "00/01/00" Then Ws2.Rows(RR2).Delete prova a usare
Codice: Seleziona tutto
If Ws2.Range("N" & RR2).Value <> "" Or Ws2.Range("N" & RR2).Value <> 0 Then Ws2.Rows(RR2).Delete


Per quanto riguarda la cencellazione di righe con in M una data superiore a oggi:
Codice: Seleziona tutto
If Ws2.Range("M" & RR2).Value > Int(Now) Then Ws2.Rows(RR2).Delete

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE

Postdi luca62 » 17/01/16 08:27

Anthony tutto ok ,ma il mio errore era che puntavo sulla cella A che a parte l'intestazione (riga 1)
è zero....quindi non lavorava!!! errore da novellino distratto
luca62 office2007 window7
luca62
Utente Senior
 
Post: 158
Iscritto il: 23/12/12 14:54

Re: CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE

Postdi luca62 » 17/01/16 19:11

Anthony, applicando la tua macro tutto ok, tranne quando voglio cancellare tutte le righe percui
oltre a essere diverso da 0 o diverso dalla cella vuota , voglio anche la possibilità di non
cancellare la riga in cui la colonna mi dia 00/01/1900 .

la tua macro:

If Ws2.Range("N" & RR2).Value <> "" Or Ws2.Range("N" & RR2).Value <> 0 Then Ws2.Rows(RR2).Delete

funziona , ma mi cancella anche le righe dove è presente la data 00/01/1900 (forse dovrei considerarla come testo?)
luca62 office2007 window7
luca62
Utente Senior
 
Post: 158
Iscritto il: 23/12/12 14:54


Torna a Applicazioni Office Windows


Topic correlati a "CANCELLA RIGHE CON CELLE VUOTE-CACCIA ALL'ERRORE":


Chi c’è in linea

Visitano il forum: albval e 27 ospiti