Condividi:        

Macro cancella righe a partire da un dato valore

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

Macro cancella righe a partire da un dato valore

Postdi Belvel » 28/01/19 12:33

Salve

a seguito di un'importazione dati web ho bisogno, con una macro, di cancellare verso il basso tutte le righe a partire dalla prima cella vuota che si incontra scendendo in giù a partire da D1.

Preciso che siccome l'importazione dati avviene in modo dinamico, la cella vuota da cui partire per poi cancellare verso il basso tutte le righe, pur trovandosi sempre in colonna D, non si trova mai nella medesima riga (a volte è in D9, altre volte è in D12, e così via).

Allego un esempio dove in questo caso la cella vuota si trova in D9 per cui a me servirebbe una macro che mi cancellasse tutte le righe piene a partire da D10 in giù mantenendo quindi solo quelle righe che sono a salire a partire dalla cella D8 fino a D1.

http://www.filedropper.com/esempio_9

Grazie in anticipo
Belvel
Belvel
Utente Junior
 
Post: 53
Iscritto il: 08/02/18 18:47

Sponsor
 

Re: Macro cancella righe a partire da un dato valore

Postdi Anthony47 » 29/01/19 00:53

Secondo me e' piu' semplice se prima dell'importazione da web fai un repulisti dell'area destinata ai nuovi dati; tipo
Codice: Seleziona tutto
Range("A:K").ClearContents


O non si può??

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19476
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro cancella righe a partire da un dato valore

Postdi Belvel » 29/01/19 10:57

Ciao Anthony

scusa ma non capisco il senso del tuo consiglio.

Mi spiego meglio:

io apro un file Excel nuovo completamente vuoto, privo di formattazioni, formule e quant'altro. Fatto questo, vado in "DATI e poi "DA WEB", quindi incollo il link della pagina web che voglio importare, seleziono la sezione che voglio importare e quindi la importo a partire da "A1".
Fatto ciò mi trovo dei dati prima e dopo una cella in colonna D che è sempre vuota e che è sempre in colonna D ma il cui numero di riga varia di volta in volta a seconda della mole di dati da importare.
A me interessa cancellare verso il basso tutto ciò che c'è a partire da tale cella D vuota e conservare quello che c'è da tale cella in su.
Il mio problema è che non sapendo quale sarà il numero di riga di tale cella, non riesco ad automatizzare tramite macro l'istruzione per cancellare tutto quello che c'è a partire dalla cella D in giù.

Aggiungo pure che anche tutte le celle a sinistra e a destra di tale cella D sono vuote, quindi in pratica ho tutta la riga vuota che però come detto sopra, una volta è la riga 8, altre volte è la riga 6, e così via.

Quindi in pratica mi andrebbe bene anche cancellare tutto ciò che ho a partire dal tale riga in giù e conservare solo i dati che si trovano da tale riga in su.

Ciò premesso, se registro una macro di importazione dati coma sopra descritto e all'inizio di tale macro gli metto la tua istruzione
Codice: Seleziona tutto
Range("A:K").ClearContents

che senso ha?

Non farebbe altro che cancellare un range già vuoto in quanto, come detto, il foglio all'apertura è completamente lindo e pinto.
Forse ho frainteso qualcosa?
Grazie
Belvel
Belvel
Utente Junior
 
Post: 53
Iscritto il: 08/02/18 18:47

Re: Macro cancella righe a partire da un dato valore

Postdi Anthony47 » 30/01/19 02:14

Il precedente suggerimento era basato sull'ipotesi che le righe da cancellare fossero il residuo di una precedente importazione...

Comunque, senza fare altre indagini, quella pulizia si puo' ottenere con questa macro:
Codice: Seleziona tutto
Sub ClearLost()
'
minD = Evaluate("=min(if(D2:D3000="""",row(2:3000),""""))")
Application.Intersect(ActiveSheet.UsedRange, Rows(minD).Resize(3000)).ClearContents
End Sub

Il codice assume che non si vada oltre riga 3000

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19476
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro cancella righe a partire da un dato valore

Postdi Belvel » 30/01/19 08:04

eccezionale Anthony!!!!! Funziona perfettamente
E' un'istruzione che non ho mai visto :-)
Grazie infinite
Belvel
Belvel
Utente Junior
 
Post: 53
Iscritto il: 08/02/18 18:47


Torna a Applicazioni Office Windows


Topic correlati a "Macro cancella righe a partire da un dato valore":


Chi c’è in linea

Visitano il forum: Raffaele53 e 7 ospiti