Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Elimina righe con valori a zero

Ultimo Aggiornamento: 18/07/2017 13:12
Post: 34
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
17/07/2017 16:53

Buongiorno.

Con il registratore di Macro ho registrato le seguenti operazioni. L'obiettivo è selezionare i valori a zero nella colonna H ed eliminare tutte le righe corrispondenti (cioè mi servono solo le righe che riportano nella colonna H un valore differente da zero).
Provando però ad applicare la macro, qualcosa non funziona (già vedo quegli H6 e $O$2385 che non mi piacciono).

Potete darmi qualche dritta?

Grazie

Nigel


Sub Elimina_righe_a_zero()
Cells.Select
Range("B1").Activate
Selection.AutoFilter
ActiveSheet.Range("$A$1:$O$10000").AutoFilter Field:=8, Criteria1:="0,00"
Range("H6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
ActiveSheet.Range("$A$1:$O$2385").AutoFilter Field:=8
End Sub
Post: 3.919
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
17/07/2017 17:58

in questo caso il registratore non ti aiuta, prova questa
Sub EliminaRigaZero()
ActiveSheet.UsedRange.Range("H:H").Replace What:=0, Replacement:=""
ActiveSheet.UsedRange.Range("H:H").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
[Modificato da patel45 17/07/2017 17:58]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 34
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
18/07/2017 10:25

Re:
patel45, 17/07/2017 17.58:

in questo caso il registratore non ti aiuta, prova questa
Sub EliminaRigaZero()
ActiveSheet.UsedRange.Range("H:H").Replace What:=0, Replacement:=""
ActiveSheet.UsedRange.Range("H:H").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub




Buongiorno.

Intanto ringrazio per la risposta e mi scuso per non avere sottolineato che tutte le celle del foglio sul quale deve essere effettuata l'operazione sono valorizzate attraverso formule: dunque, se faccio operare la macro direttamente su questo foglio, non funziona

Errore di run-time '1004':

Non è stata trovata alcuna cella.


Se invece copio tutti i dati e li incollo speciale "valori e formati numeri", allora la macro funziona perfettamente.

Partendo comunque dal presupposto che già ho risparmiato tempo ed effettuato l'operazione in maggiore sicurezza evitando troppe azioni manuali, la mia domanda, a questo punto, nasce spontanea: come deve essere modificata la macro affinchè funzioni correttamente nel foglio di origine, quello con le formule per intenderci?

Grazie.

Nigel
Post: 3.920
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
18/07/2017 10:36

allega un file di esempio

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 35
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
18/07/2017 10:38

Re: Re:
Nigel78, 18/07/2017 10.25:




Buongiorno.

Intanto ringrazio per la risposta e mi scuso per non avere sottolineato che tutte le celle del foglio sul quale deve essere effettuata l'operazione sono valorizzate attraverso formule: dunque, se faccio operare la macro direttamente su questo foglio, non funziona

Errore di run-time '1004':

Non è stata trovata alcuna cella.


Se invece copio tutti i dati e li incollo speciale "valori e formati numeri", allora la macro funziona perfettamente.

Partendo comunque dal presupposto che già ho risparmiato tempo ed effettuato l'operazione in maggiore sicurezza evitando troppe azioni manuali, la mia domanda, a questo punto, nasce spontanea: come deve essere modificata la macro affinchè funzioni correttamente nel foglio di origine, quello con le formule per intenderci?

Grazie.

Nigel




In realtà un errore c'è:

i valori nella colonna H sono numeri, e nel trasferimento viene perso lo zero, così 8310,21 diventa 831,21 oppure 23580,45 diventa 2358,45 e 102,91 diventa 12,91.
Post: 36
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
18/07/2017 11:05

Provo ad inserire un file come esempio riportante tutti i casi.

Facendo girare la macro sul foglio "Destinazione", devono rimanere tutte le righe che nella colonna H hanno valore diverso da zero, dunque nell'esempio sono due, quelle che hanno valore 1514,27 e 108,12. Quella con zero va eliminata.




[Modificato da Nigel78 18/07/2017 11:24]
Post: 1.480
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
18/07/2017 13:12

ciao
puoi provare:
Sub EliminaRigaZero()
ur = Range("A" & Rows.Count).End(xlUp).Row
For r = ur To 2 Step -1
    If Cells(r, 8) = 0 Then Cells(r, 1).EntireRow.Delete
Next
End Sub

da eseguire sul foglio "Destinazione".

Saluti
Domenico
Win 10 - Excel 2016
Vota:
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 04:17. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com