Eliminare righe in base a contenuti di celle

34 views
Skip to first unread message

David Kietto

unread,
Oct 31, 2021, 3:54:00 AM10/31/21
to
Buongiorno a tutti , ho trovato in rete questo codice, e funziona benissimo, solo che cerca ed elimina solo un valore..
per fare in modo che mi cerchi ed elimini piu valori come posso modificarlo?
i valori da cercare sono sempre nella colonna A.. come ho scritto in alto, il codice funziona benissimo.
grazie a tutti e buona giornata

Sub Elimina_righe_472()
Dim i
Dim Stringa
Stringa = "*472*"
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If Cells(i, "A") Like Stringa Then
Cells(i, "A").Select
Selection.EntireRow.Delete
End If
Next i
End Sub

Bruno Campanini

unread,
Oct 31, 2021, 12:47:59 PM10/31/21
to
David Kietto expressed precisely :
==================================
Public Sub EliminaRighe()
Dim R, i, j, RA As Range

R = Array("a", "b", "u", "w", "d", "z")
Set RA = Range([A1], [A1].End(xlDown))
For Each i In R
For Each j In RA
If i = j Then
j.EntireRow.Delete
End If
Next
Next

End Sub
==================================
Se ho ben capito, si eliminano le intere righe chs hanno in A
i valori indicati in R.
Valori unici nelle celle, o dovrebbero eliminarsi
anche le righe che in A hanno per esempio "buona", "vezzo, etc?

Bruno

David Kietto

unread,
Oct 31, 2021, 12:53:26 PM10/31/21
to
********************************************************************************
Grazie mille la provo e ti dico....
"anche le righe che in A hanno per esempio "buona", "vezzo, etc? " si , esatto
grazie

David Kietto

unread,
Oct 31, 2021, 12:59:26 PM10/31/21
to
Nella colonna A sono presenti solo numeri... ed in base al numero , vorrei eliminare tutte le righe che hanno i numeri da me scelti..

David Kietto

unread,
Nov 1, 2021, 5:01:49 AM11/1/21
to
buongiorno, ho provato la tua soluzione , ma non va... grazie lo stesso

Bruno Campanini

unread,
Nov 1, 2021, 6:57:07 AM11/1/21
to
After serious thinking David Kietto wrote :
Se sono numeri, in R vanno espressi senza "", separati da virgola.
R = Array(8, 15, 215, 3020)

Bruno

David Kietto

unread,
Nov 1, 2021, 5:17:15 PM11/1/21
to
**********************************************************************************
Public Sub EliminaRighe()
Dim R, i, j, RA As Range

R = Array(471,472,998, 999)
Set RA = Range([A1], [A1].End(xlDown))
For Each i In R
For Each j In RA
If i = j Then
j.EntireRow.Delete
End If
Next
Next

End Sub
***********************************************************************
sicuramente sono di coccio io.... ma ame non va...

Ammammata

unread,
Nov 2, 2021, 4:41:20 AM11/2/21
to
Il giorno Sun 31 Oct 2021 08:53:58a, *David Kietto* ha inviato su
microsoft.public.it.office.excel il messaggio news:2a2adb6a-726f-445d-992d-
ee8b3c...@googlegroups.com. Vediamo cosa ha scritto:

> Sub Elimina_righe_472()
> Dim i
> Dim Stringa
> Stringa = "*472*"
> For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
> If Cells(i, "A") Like Stringa Then
> Cells(i, "A").Select
> Selection.EntireRow.Delete
> End If
> Next i
> End Sub
>

soluzione della serva:

Sub Elimina_righe_472()
Dim i
Dim Stringa1,Stringa2,Stringa3,Stringa4
Stringa1 = "*472*"
Stringa2 = "*471*"
Stringa3 = "*998*"
Stringa4 = "*999*"
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If Cells(i, "A") Like Stringa1 or Cells(i, "A") Like Stringa2 or
Cells(i, "A") Like Stringa3 or Cells(i, "A") Like Stringa4 Then
Cells(i, "A").Select
Selection.EntireRow.Delete
End If
Next i
End Sub


--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........

David Kietto

unread,
Nov 2, 2021, 2:53:10 PM11/2/21
to
Grazie mille, tutto ok
Reply all
Reply to author
Forward
0 new messages