Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per cancellare solo alcune celle, non intera riga

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 per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 10:13

Ciao a tutti!
Ho un problema che non riesco a risolvere, spero ci sia qualcuno così gentile ad aiutarmi.

Ho trovato questa macro che se trova 2 celle uguali in contenuto mi cancella l'intera riga di una delle due, in modo da non avere doppioni.
Funziona benissimo, l'unico problema è che a me serve che cancelli solamente alcune celle della riga (celle cha vanno dalla colonna Q alla S), non l'intera riga.

Vi posto qui sotto la macro di cui vi sto parlando e vi evidenzio in rosso il punto che non mi va bene:

Application.ScreenUpdating = False
Range("S3:S100").Select
Selection.Sort Key1:=Range("S3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Set currentCell = Worksheets("Scelta ponteggio").Range("S3")
Do While Not IsEmpty(currentCell)
Set nextCell = currentCell.Offset(1, 0)
If nextCell.Value = currentCell.Value Then
currentCell.Entirerow.Delete
End If
Set currentCell = nextCell
Loop
Range("S3").Select

Vi ringrazio anticipatamente per il vostro aiuto!
Ciao, Sara
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Sponsor
 

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi alfrimpa » 04/04/17 12:37

Ciao Sara

Ti consiglierei di allegare un file di esempio (coerente strutturalmente con il tuo originale) con pochi dati e mostra il risultato che vuoi ottenere inserendolo manualmente.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 12:53

Ciao Alfredo!
Ecco qui il link che manda al file di prova: https://www.dropbox.com/sh/f4wku6lzejdn ... uy2ua?dl=0
Spero il link funzioni e che adesso la mia richiesta sia più chiara (il file allegato è un semplice file Excel che non contiene alcuna macro, mostra solo quello che ho e quello che vorrei ottenere).
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 13:41

Mi sono dimenticata di specificare che le celle in cui non ci devono essere doppioni sono quelle della colonna S.
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi alfrimpa » 04/04/17 13:43

Ciao Sara

Forse sono io che non capisco bene ma non basterebbe fare una copia del tuo elenco e poi da questa copia eliminare i duplicati)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 14:13

Ciao Alfredo,
potrei fare come dici tu, solo che la macro che ho nel file originale è molto pesante.. se io facessi copiare i dati in un foglio vuoto, eliminassi le righe contenenti doppioni e poi rifacessi copiare nel foglio originale (devo per forza far finire l'operazione in questo foglio) ho paura che diventi ancora più pesante.. Tu non sapresti indicarmi un modo per risolvere il problema senza dover ricorrere a tutti questi copia e incolla?
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi Marius44 » 04/04/17 14:50

Buon pomeriggio a tutti
scusate l'intromissione ma se leggo bene, da titolo, tu vorresti cancellare il contenuto di alcune celle mentre la macro "elimina" una riga.
Se ho capito bene, nell'intervallo di celle dove ti interessa "cancellare" il contenuto utilizza .ClearContents

Oppure non ho capito nulla.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 537
Iscritto il: 07/09/15 22:00

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 15:10

Ciao Alfredo,
alla fine ho optato per fare come mi hai suggerito tu, per una persona inesperta come me forse è la cosa più semplice!

Ciao Mario,
si esatto, la macro cancella una riga invece che un intervallo di celle. Ho risolto il problema aggirandolo, come suggerito da Alfredo, però dopo provo a fare come mi hai detto tu, per vedere se anche in questo modo funziona.

Grazie mille a entrambi per l'aiuto!
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi alfrimpa » 04/04/17 15:26

Sara se vuoi ti posso scrivere la macro che ti fa l'operazione automaticamente indipendentemente dal numero di righe dell'intervallo da copiare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 04/04/17 16:27

Ormai la mia macro è conclusa, ma se ti va di scrivermela lo stesso va benissimo così imparo! :)
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi alfrimpa » 04/04/17 18:06

Giusto per divertimento un esempio di macro (con riferimento al file che hai allegato) potrebbe essere questa

Codice: Seleziona tutto
Sub sara()
Dim ur As Long
Dim lr As Long
Application.ScreenUpdating = False
ur = Cells(Rows.Count, "Q").End(xlUp).Row
lr = Cells(Rows.Count, "W").End(xlUp).Row
Range("Q3:S" & ur).Copy Cells(lr + 1, "W")
lr = Cells(Rows.Count, "W").End(xlUp).Row
Range("w3:y" & lr).RemoveDuplicates Columns:=1, Header:=xlNo
Application.ScreenUpdating = True
End Sub


Sicuramente migliorabile (e aspetto le "ire" di Anthony :D )
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi Anthony47 » 05/04/17 00:07

e aspetto le "ire" di Anthony :D
Anthony dice che se funziona allora e' sempre bellissimo cosi'...
Avatar utente
Anthony47
Moderatore
 
Post: 17443
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per cancellare solo alcune celle, non intera riga

Postdi saramarti92 » 05/04/17 08:35

alfrimpa ha scritto:Giusto per divertimento un esempio di macro (con riferimento al file che hai allegato) potrebbe essere questa

Codice: Seleziona tutto
Sub sara()
Dim ur As Long
Dim lr As Long
Application.ScreenUpdating = False
ur = Cells(Rows.Count, "Q").End(xlUp).Row
lr = Cells(Rows.Count, "W").End(xlUp).Row
Range("Q3:S" & ur).Copy Cells(lr + 1, "W")
lr = Cells(Rows.Count, "W").End(xlUp).Row
Range("w3:y" & lr).RemoveDuplicates Columns:=1, Header:=xlNo
Application.ScreenUpdating = True
End Sub


Sicuramente migliorabile (e aspetto le "ire" di Anthony :D )


Grazie mille Alfredo, proverò ad applicarla al file di esempio per vedere come funziona :)
Ciao!
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43


Torna a Applicazioni Office Windows


Topic correlati a "Macro per cancellare solo alcune celle, non intera riga":


Chi c’è in linea

Visitano il forum: Anthony47 e 20 ospiti