• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rij verwijderen als cel waarde bevat

Status
Niet open voor verdere reacties.

scartsjer

Gebruiker
Lid geworden
23 jan 2015
Berichten
34
Hallo,

momenteel gebruik ik om een rij te verwijderen als een cel een bepaalde waarde bevat de volgende code:
Code:
Sub DelRows()
Application.ScreenUpdating = True
totalrows = ActiveSheet.UsedRange.Rows.Count

For Row = totalrows To 1 Step -1
    If (Cells(Row, 9).Value = True _
    Or Cells(Row, 9).Value = "DIN 128-A" Or Cells(Row, 9).Value = "DIN 985" Or Cells(Row, 9).Value = "DIN 975" _
    Or Cells(Row, 9).Value = "DIN 931" Or Cells(Row, 9).Value = "DIN 59200" Or Cells(Row, 9).Value = "DIN 9021-A" _
    Or Cells(Row, 9).Value = "DIN 912" Or Cells(Row, 9).Value = "EN 10060" Or Cells(Row, 9).Value = "EN 10056" _
    Or Cells(Row, 9).Value = "DIN 6798" _
    Or Cells(Row, 9).Value = "DIN 125-A" _
    Or Cells(Row, 9).Value = "DIN 6885A" _
    Or Cells(Row, 9).Value = "DIN 934" _
    Or Cells(Row, 9).Value = "DIN 6319-C" _
    Or Cells(Row, 9).Value = "DIN 6319-D" _
    Or Cells(Row, 9).Value = "EN 10279" _
    Or Cells(Row, 9).Value = "ISO 7379" _
    Or Cells(Row, 9).Value = "DIN 7349" _
    Or Cells(Row, 9).Value = "DIN 7991" _
    Or Cells(Row, 9).Value = "DIN2986" _
    Or Cells(Row, 9).Value = "DIN 3015-1" _
    Or Cells(Row, 9).Value = "xxx" _
    Or Cells(Row, 9).Value = "xyz" _
    Or Cells(Row, 9).Value = "DIN 7979 D" _
    Or Cells(Row, 9).Value = "DIN 929" _
    Or Cells(Row, 9).Value = "DIN 7980" _
    Or Cells(Row, 9).Value = "EN 10034" _
    Or Cells(Row, 9).Value = "DIN * " _
    Or Cells(Row, 9).Value = "DIN 7980" _
    ) Then
    Rows(Row).Delete
    End If
Next Row
Application.ScreenUpdating = True

End Sub

echter kom ik tot de conclusie dat de rij altijd verwijderd kan worden zodra er een waarde in staat met uitzondering zodra er een - teken in staat.

hoe krijg ik dit voor elkaar?
 
Hallo,

deze haalt alle regels weg die in kolom I geen "-" bevatten.

mvg
Leo

Code:
Application.ScreenUpdating = False

Dim rng As Range, lastrow As Long, x As Long, ant As Long

ant = 0
lastrow = Range("i" & Rows.Count).End(xlUp).Row


For x = 1 To lastrow
Set rng = Cells(x, 9).Find(what:="-")
If rng Is Nothing Then
Range("a" & x).EntireRow.Delete
x = x - 1
ant = ant + 1
End If
If ant = lastrow Then GoTo sluit
Next
sluit:
Application.ScreenUpdating = True
End Sub
 
Dankje, het werkt ... alleen iets te fanatiek, hij haalt ook alle rijen weg welke geen inhoud bevatten.

Hoe voorkom ik dat rijen worden verwijderd als de cel in kolom I leeg is?
 
Vervang deze regel eens

Code:
If rng Is Nothing Then

in

Code:
If rng Is Nothing and rng <> "" Then

kan zelf niets testen nu maar ik vermoed dat dit voldoende is

mvgg
Leo
 
hej, heb t opgelost. dit is het werkende resultaat:
Code:
Sub DelRows()
Application.ScreenUpdating = False

Dim rng As String, lastrow As Long, x As Long, ant As Long
ant = 0
lastrow = Range("i" & Rows.Count).End(xlUp).Row
For x = 1 To lastrow
rng = Cells(x, 9)
If rng <> "" And rng <> "-" Then
Range("a" & x).EntireRow.Delete
x = x - 1
ant = ant + 1
End If
If ant = lastrow Then GoTo sluit
Next
sluit:
Application.ScreenUpdating = True
End Sub

Dank u!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan