Risultati da 1 a 15 di 15

Discussione: Eliminare righe che contengono un determinato valore



  1. #1
    L'avatar di Keishusan
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Rimini
    Messaggi
    35
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Eliminare righe che contengono un determinato valore

    Ciao a tutti,
    dovrei creare una macro che elimina le righe che contengono il valore "x" e "3" su una lista. Il valore può trovarsi solo sulla colonna "D".

    Ho provato questa ma non funziona:

    Codice: 
    Sub Pulisci()
    Dim Cancella(2) As String
    Cancella(1) = "x"
    Cancella(2) = "3"
    For c = 1 To 2
    ur = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For CR = ur To 2 Step -1
        UC = Worksheets("Foglio7").Cells(CR, Columns.Count).End(xlToLeft).Column
        Rows(CR & ":" & CR).Select
        For CC = 1 To UC
            If UCase(Cells(CR, CC).Value) Like Cancella(1) Or UCase(Cells(CR, CC).Value) Like Cancella(2) Then Rows(CR & ":" & CR).Delete Shift:=xlUp
        Next CC
    Next CR
    Next c
    End Sub
    Grazie a tutti

  2. #2
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da Keishusan Visualizza Messaggio
    Ciao a tutti,
    dovrei creare una macro che elimina le righe che contengono il valore "x" e "3" su una lista. Il valore può trovarsi solo sulla colonna "D".

    Ho provato questa ma non funziona:

    Codice: 
    Sub Pulisci()
    Dim Cancella(2) As String
    Cancella(1) = "x"
    Cancella(2) = "3"
    For c = 1 To 2
    ur = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For CR = ur To 2 Step -1
        UC = Worksheets("Foglio7").Cells(CR, Columns.Count).End(xlToLeft).Column
        Rows(CR & ":" & CR).Select
        For CC = 1 To UC
            If UCase(Cells(CR, CC).Value) Like Cancella(1) Or UCase(Cells(CR, CC).Value) Like Cancella(2) Then Rows(CR & ":" & CR).Delete Shift:=xlUp
        Next CC
    Next CR
    Next c
    End Sub
    Grazie a tutti
    perchè non alleghi un file con qualche dato (naturalmente non sensibile) così si capisce meglio il problema


    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  3. #3

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1015
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0

    Re: Eliminare righe che contengono un determinato valore

    Ciao,

    oltre a quanto suggerito da Baloon, tieni presente che dire "ma non funziona" non serve a niente, devi precisare cosa/perché "non funziona".
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  4. #4
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1104
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Eliminare righe che contengono un determinato valore

    sicuramente la tua macro è un po' troppo contorta, dovrebbe bastare questa
    Codice: 
    Sub Pulisci()
    ur = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For CR = ur To 2 Step -1
       If instr(Cells(CR, "D"),"x") > 0 and  instr(Cells(CR, "D"),"3") > 0 then rows(CR).Delete
    Next CR
    End Sub

  5. #5
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Eliminare righe che contengono un determinato valore

    Altra soluzione potrebbe essere questa :

    Codice: 
    Sub Elimina_righe()
    
    
    Dim i As Integer
    Dim uriga As Long
    
    
    uriga = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For i = uriga to 1 step -1
        If Range("D" & i) = "X" Or Range("D" & i) = "x" Or Range("D" & i) = 3 Then
            Range("A" & i).EntireRow.Delete
        End If
    Next
    
    
    End Sub
    comunque sarebbe gradito un tuo file

    ciao

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  6. #6
    L'avatar di ggratis
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Lecce - Pisa
    Età
    45
    Messaggi
    737
    Versione Office
    Excel 2010
    Likes ricevuti
    257
    Likes dati
    215

    Re: Eliminare righe che contengono un determinato valore

    Ciao Baloon_50,
    credo che ti sia sfuggito il fatto che il ciclo for devi farlo andare dall'ultimo valore al primo, altrimenti potresti saltare delle righe.
    Saluti
    GG

    Inviato dal mio GT-I9105P utilizzando Tapatalk

  7. #7
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da ggratis Visualizza Messaggio
    Ciao Baloon_50,
    credo che ti sia sfuggito il fatto che il ciclo for devi farlo andare dall'ultimo valore al primo, altrimenti potresti saltare delle righe.
    Saluti
    GG

    Inviato dal mio GT-I9105P utilizzando Tapatalk
    ciao ggratis sì me ne sono accorto e l'ho sistemato tanks

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  8. #8
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: Eliminare righe che contengono un determinato valore

    io starei ancora aspettando una risposta a questa discussione.


    ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  9. #9
    L'avatar di Keishusan
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Rimini
    Messaggi
    35
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Altra soluzione potrebbe essere questa :

    Codice: 
    Sub Elimina_righe()
    
    
    Dim i As Integer
    Dim uriga As Long
    
    
    uriga = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For i = uriga to 1 step -1
        If Range("D" & i) = "X" Or Range("D" & i) = "x" Or Range("D" & i) = 3 Then
            Range("A" & i).EntireRow.Delete
        End If
    Next
    
    
    End Sub
    comunque sarebbe gradito un tuo file

    ciao
    Grazie mille ma mi da l'errore "errore di run-time 13 - Tipo non corrispondente"

  10. #10
    L'avatar di ggratis
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Lecce - Pisa
    Età
    45
    Messaggi
    737
    Versione Office
    Excel 2010
    Likes ricevuti
    257
    Likes dati
    215

    Re: Eliminare righe che contengono un determinato valore

    Definisci anche la variabile i come long invece che integer
    E nel test esplicita che sia .value ad essere uguale ad x o 3

    Inviato dal mio GT-I9105P utilizzando Tapatalk

  11. #11
    L'avatar di Keishusan
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Rimini
    Messaggi
    35
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Eliminare righe che contengono un determinato valore

    L'errore rimane...

  12. #12
    L'avatar di Keishusan
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Rimini
    Messaggi
    35
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da ggratis Visualizza Messaggio
    E nel test esplicita che sia .value ad essere uguale ad x o 3
    Non ho capito questa parte, grazie ancora

  13. #13
    L'avatar di ggratis
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Lecce - Pisa
    Età
    45
    Messaggi
    737
    Versione Office
    Excel 2010
    Likes ricevuti
    257
    Likes dati
    215

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da Keishusan Visualizza Messaggio
    Non ho capito questa parte, grazie ancora
    Codice: 
    Sub Elimina_righe()
    
    
    Dim i As long
    Dim uriga As Long
    
    
    uriga = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For i = uriga to 1 step -1
        If Range("D" & i).value = "X" Or Range("D" & i).value = "x" Or Range("D" & i).value = 3 Then        Range("A" & i).EntireRow.Delete
        End If
    Next
    
    
    End Sub
    prova così...
    se non va allega il file
    saluti
    GG

  14. #14
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da Keishusan Visualizza Messaggio
    Grazie mille ma mi da l'errore "errore di run-time 13 - Tipo non corrispondente"
    A me funziona benissimo a questo punto dovresti allegare il file che lo testiamo

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  15. #15
    L'avatar di Keishusan
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Rimini
    Messaggi
    35
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Eliminare righe che contengono un determinato valore

    Citazione Originariamente Scritto da ggratis Visualizza Messaggio
    Codice: 
    Sub Elimina_righe()
    
    
    Dim i As long
    Dim uriga As Long
    
    
    uriga = Worksheets("Foglio7").Range("D" & Rows.Count).End(xlUp).Row
    For i = uriga to 1 step -1
        If Range("D" & i).value = "X" Or Range("D" & i).value = "x" Or Range("D" & i).value = 3 Then        Range("A" & i).EntireRow.Delete
        End If
    Next
    
    
    End Sub
    prova così...
    se non va allega il file
    saluti
    GG
    Mi da errore sul ciclo IF

    Ad ogni modo sono riuscito a risolvere registrando una macro "manuale", grazie ancora

Discussioni Simili

  1. [Risolto] Salta celle con un determinato valore.
    Di NikiDiluccio nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 11/04/17, 18:31
  2. Assegnare un testo in base a determinato valore
    Di Nic1907 nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 18/02/17, 17:15
  3. [Risolto] Eliminare righe se alcune celle assumono un determinato valore
    Di Isaize nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 25/10/16, 11:13
  4. come eliminare righe vuote, tra righe di testo in una pagina excel
    Di francesco71 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 08/05/16, 14:13
  5. Attivare macro a un determinato orario o a un determinato valore cella
    Di Davide nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 03/01/16, 17:21

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •