Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro per cancellare una riga da una tabella

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 una riga da una tabella

Postdi VincMandi » 17/11/19 18:54

Buonasera,
sono appena entrato e pocchissimo esperto.
Devo automatizzare l' aggiormanto di una tabella procedendo anche alla eliminazione di righe specifiche che contengono in una determinata cella un valore che si trovaa in una cella di altro foglio.
Nel web ho trovato qualcosa e lo ho adattato alle mie necessita :

Sub EliminaRigaDaElencoClienti()
'
' EliminaRigaDaElencoClienti Macro
' Elimina Riga Da Elenco Clienti

Dim UR As Integer
With Sheets("elenco_clienti")
UR = .Cells(Rows.Count, 1).End(xlUp).Row
For n = UR To 1 Step -1
If .Cells(n, 1).Value = "CognomeNome" Then
.Cells(n, 1).EntireRow.Delete
End If
Next n
End With
End Sub

Vorrei poter sostituire "CognomeNome" con una variabile contenuta in altra cella di altro foglio, credede sia possibile?'
Grazi mille.
Enzo
Utilizzo W 10 ed office 2016
VincMandi
Newbie
 
Post: 4
Iscritto il: 17/11/19 16:21
Località: Gropello Cairoli (PV)

Sponsor
 

Re: macro per cancellare una riga da una tabella

Postdi FRIEDRICH » 17/11/19 20:24

Ciao VincMandi,
prova così (adatta nome del foglio e cella che contengono il valore da eliminare):
Codice: Seleziona tutto
Sub EliminaRigaDaElencoClienti()

    Dim UR     As Integer, n As Integer
    Dim Indesiderato As String

    Indesiderato = Sheets("miofoglio").Range("A1") '<<<=== da adattare
   
    With Sheets("elenco_clienti")
        UR = .Cells(Rows.Count, 1).End(xlUp).Row
        For n = UR To 1 Step -1
            If .Cells(n, 1).Value = Indesiderato Then
                .Cells(n, 1).EntireRow.Delete
            End If
        Next n
    End With
End Sub
Avatar utente
FRIEDRICH
Utente Junior
 
Post: 30
Iscritto il: 09/07/17 17:14

Re: macro per cancellare una riga da una tabella

Postdi VincMandi » 19/11/19 18:10

Grazie mille,
ora è perfetta.
A presto.
VincMandi
Newbie
 
Post: 4
Iscritto il: 17/11/19 16:21
Località: Gropello Cairoli (PV)

Re: macro per cancellare una riga da una tabella

Postdi FRIEDRICH » 19/11/19 19:25

Ciao VincMandi,
VincMandi ha scritto:...ora è perfetta...

grazie per il riscontro, per migliorarla un po' puoi aggiungere all'inizio
Codice: Seleziona tutto
Application.ScreenUpdating = False

ed alla fine
Codice: Seleziona tutto
Application.ScreenUpdating = True


Aggiungo inoltre che se le righe da valutare sono molte ci sono modi più efficienti e veloci per cancellare le righe senza verificare la condizione una riga per volta, ad esempio usando i filtri oppure la macro seguente, che sostituisce un codice di errore al valore da cancellare e quindi cancella tutte le righe dove trova il codice di errore, in pratica eseguendo due sole istruzioni:
Codice: Seleziona tutto
Sub test()

    Dim Indesiderato As String

    Indesiderato = Sheets("miofoglio").Range("A1") '<<<=== da adattare
   
    Application.ScreenUpdating = False
   
    On Error GoTo NessunDato 'se non trova il valore interrompe la macro
   
    With Columns("A")
        .Replace Indesiderato, "#N/A", xlWhole, , False, , False, False
        .SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
    End With
   
    Application.ScreenUpdating = True
   
NessunDato:
   
End Sub
Avatar utente
FRIEDRICH
Utente Junior
 
Post: 30
Iscritto il: 09/07/17 17:14

Re: macro per cancellare una riga da una tabella

Postdi VincMandi » 23/11/19 13:41

Grazie,
proverà anche quaesta macro.
Enzo
VincMandi
Newbie
 
Post: 4
Iscritto il: 17/11/19 16:21
Località: Gropello Cairoli (PV)


Torna a Applicazioni Office Windows


Topic correlati a "macro per cancellare una riga da una tabella":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti