Condividi:        

Eliminare righe con lo stesso contenuto

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

Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 10/04/16 12:23

Salve alla lista,
Spero di postare nella giusta sezione.
Sono un nuovo iscritto e questo e' la mia prima richiesta di aiuto.
Premetto che uso il pacchetto Office 2016 e che ne so abbastanza poco.
Ho un file excel di un elenco di circa 13000 linee.
Nel file ad ogni tot righe si trova un tipo un intestazione tipo esempio come fosse il famoso gioco

NOMI COSE ANIMALI CITTA'.

Avrei bisogno di eleminare tuee le righe che hanno la riga sopra menzionato.
E' possobile farlo senza doverlo fare manulamente?
Se si mi dite come fare?
Grazie
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Sponsor
 

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 10/04/16 16:38

Ciao Enzo

Senza vedere un tuo file di esempio rispondo un po' al buio.

Prova con una macro di questo tipo:

Codice: Seleziona tutto
Sub elimina()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a1:a" & ur)
For Each cel In rng
    If cel.Value = "NOME" Then
        cel.EntireRow.Delete
    End If
Next cel
End Sub


Prova e fai sapere.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 10/04/16 17:03

Ciao Alfredo,
prima di tutto grazie per la risposta.
Dovresti essere cosi' gentile da dirmi come creare la macro in quando
sono proprio a digiuno di Excel.
Grazie
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 10/04/16 17:25

Ciao Enzo

Forse è meglio che alleghi tu un tuo file di esempio che sia strutturalmente uguale all'originale (bastano poche decine di righe) così io te lo riallego con la macro inserita che potrò adattare al tuo caso e poi ti darò tutte le spiegazioni necessarie anche se se sei a digiuno di Excel la vedo un po' dura.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 10/04/16 18:04

Ciao Alfredo ti faccio un esempio come il famoso gioco che facevamo a scuola.

NOMI COSE ANIMALI CITTA'
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
NOMI COSE ANIMALI CITTA'
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx
xxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxx xxxx

Diciamo cosi' solo che tra un'intestazione e l'altro ci sono piu' righe.
Spero di esere stato felice nello spiegare.
Grazie ancora
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi wallace&gromit » 10/04/16 19:57

penso che la macro di alfrimpa faccia il suo dovere,
ma se non riesci ad usarla e vuoi provare qualcosa di più semplice potresti inserire un filtro (dal menu home/ordina e filta), scegli "nome" nella prima colonna, selezioni tutte le righe che vedrai (dovrebbero essere tutte quelle che vuoi eliminare) e scegli elimina righe foglio (menu home/celle/elimina).
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 10/04/16 20:08

Si ma come si crea e salva la macro?
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 10/04/16 21:59

Ciao Enzo

Ti allego file nel quale ho inserito la macro che vedi sotto che fa quel che chiedi. Tu non devi fare altro che copiare il tuo database sul foglio1 in A1 e cliccare sul pulsante "Elimina Righe"

http://www.filedropper.com/enzo

Codice: Seleziona tutto
Sub elimina()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a1:a" & ur)
Application.ScreenUpdating = False
For Each cel In rng
    If cel.Value = "NOMI" Then
        cel.EntireRow.Delete
    End If
Next cel
Application.ScreenUpdating = True
End Sub


Ed ora viene la parte più difficile cioè rispondere alla tua ultima domanda.

Le macro son istruzioni scritte in Visual Basic for Application che è il linguaggio di programmazione che accompagna Excel e, con le dovute differenze, tutti i programmi appartenenti al pacchetto Office (Word, Access, PowerPoint etc.)

Per scrivere una macro ci sono sostanzialmente due modi:

1) Usare il registratore macro
2) Scrivere manualmente le macro nell'Editor di Visual Basic che è l'ambiente dedicato alla scrittura delle macro (ed altro).

L'utilizzo del registratore macro può essere una buona "palestra" iniziale che ti consente di prendere un po' di confidenza con il linguaggio ma il registratore è uno strumento "stupido" ossia registra tutte le azioni che tu compi manualmente ed inoltre non fa tutta una serie di cose (che non sto qui ad elencarti); ad esempio una macro come quella che vedi su è impossibile crearla con il registratore di macro.

La scrittura manuale delle macro presuppone un minimo di conoscenza del linguaggio che, mi pare, tu non possegga minimamente. Comunque ti descrivo la procedura per accedere all'editor di Visual Basic:

1) Premi Alt+F11
2) Dal menù Inserisci scegli Modulo
3) Nella finestra in alto a destra puoi incominciare, se ne sei capace, a scrivere la tua macro
4) Una volta terminato torna al foglio e vai sul menù Visualizza. In fondo a destra trovi l'icona Macro cliccaci su e ti si apre una finestra nella quale troverai la macro che hai scritto; selezionala e clicca sul pulsante "Esegui".

Ma al di la di tutto questo forse il miglior consiglio che si possa dare è quello di procurarti un buon manuale di VBA e cominciare a studiartelo perché come avrai capito il VBA è un linguaggio potentissimo con il quale solo il caffè non riesci a far fare ad Excel :)

Fai sapere.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 10/04/16 22:20

Alfredo,
ho fatto come dici nella prima parte del messaggio ma cliccando sul tasto
"ELIMINA RIGHE", non succede nulla.
Forse perche' l'intestazione e' diverso.
Comunque le 'intestazioni sono:

№ DCI NAME OF CASTLES № WCA PREFIX PROVINCE

Prova gentilmente a fare la macro con l'intestazione sopra.
Grazie
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 10/04/16 22:34

È ovvio che non funzioni: l'intestazione è diversa.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 11/04/16 09:46

Ciao Enzo

La prima cosa che dovresti fare è sostituire tutti i "№" presenti nel tuo database con "NO."; questo perché il carattere "№" non viene riconosciuto dal VBA. Dal menù Home, Trova, Sostituisci, Sostituisci tutto,

Ti ho modificato la macro che diventa questa

Codice: Seleziona tutto
Sub elimina()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a1:a" & ur)
Application.ScreenUpdating = False
For Each cel In rng
    If cel.Value = "NO." Then
        cel.EntireRow.Delete
    End If
Next cel
Application.ScreenUpdating = True
End Sub


Ti riallego il file

http://www.filedropper.com/enzo1

Fai sapere
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 13/04/16 21:10

Scusami Alfredo,
ma mi era sfuggita la risposta.
Comunque ho fatto il primo sostituendo i "№" con "NO"
e noto che oltre a sostituirli,mi ingrandisce pure il carattere.
Inoltre ho cliccato su Elimina ma non succede nulla.
Dove ho ancora sbagliato?
Grazie e scusami ancora
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 13/04/16 21:29

Inoltre ho notato che i campi non si trovano.
I campi sono cosi' suddivisi:

№ DCI
NAME OF CASTLES
№ WCA
PREFIX
PROVINCE

Grazie
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 13/04/16 21:29

Non succede nulla perchė la lettera N deve essere sostituita con "NO." con il punto (tu non l'hai messo).

Non ho capito la faccenda dell'ingrandimento del carattere; se c'è non dipende sicuramente dalla macro (che ne non contiene istruzioni in tal senso).
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 13/04/16 21:32

Ora ti cambio la macro così ti evito il problema delle sostituzioni.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 13/04/16 21:50

Ho corretto il NO con NO. ma nemmeno va.
Secondo me nova in quando le diciture che contengono il NO. sono stati suddivisi
mentre dovrebbero essere uniti "NO.DCI" e NO.WCA
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 13/04/16 22:24

Domani ti modifico la macro in modo che prenda in considerazione la colonna B dove c'è scritto "NAME OF CASTLES" dove non ci dovrebbero essere problemi.
Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi alfrimpa » 14/04/16 09:17

Ciao Enzo

Prova questa macro


Codice: Seleziona tutto
Sub elimina()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("b1:b" & ur)
Application.ScreenUpdating = False
For Each cel In rng
    If cel.Value = "NAME OF CASTLES" Then
        cel.EntireRow.Delete
    End If
Next cel
Application.ScreenUpdating = True
End Sub

Alfredo

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

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 14/04/16 19:22

Si Alfredo ha funzionato.
Non ho nemmeno fatto i passaggi per cambiare il N° in NO.
come dicesti. Ho semplicemente copiato le linee nella maschera crea Macro.
Fatto partire la macro ed ha cancellato cio' che volevo.
Grazie ancora
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Re: Eliminare righe con lo stesso contenuto

Postdi ik8ozv » 01/05/16 13:14

Ragazzi,
dovrei fare ancora un passaggio sul file.
Dopo aver eseguito la macro di Alfredo, mi ritrovo col file cosi:

http://www.filedropper.com/enzo

Dovrei riordinare il tutto tramite la colonna "D"
ho provato a fare cosi':

Selezionato la colonna "D" cliccando sulla lettera "D" della colonna.
Dalla linguetta "Home" ho cliccato sull'icona "Ordina e Filtra"
Cliccato su "Ordina dalla A alla Z"
Mi e' uscito la finestrina di Avviso
Messo il pallino in "Espandere la soluzione" e cliccato su OK

Mi da l'errore "Per eseguire l'operazione, e' necessario che le celle abbiano le stessa dimensioni."
Come fare?
Grazie
Enzo
ik8ozv
Utente Junior
 
Post: 58
Iscritto il: 10/04/16 11:54

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Eliminare righe con lo stesso contenuto":


Chi c’è in linea

Visitano il forum: Nessuno e 48 ospiti