• 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.

filteren

Status
Niet open voor verdere reacties.

nobody11

Gebruiker
Lid geworden
20 dec 2007
Berichten
552
Code:
Sub tes()
Dim rng As Range
SV = InputBox("Geef code in van Land")
For Each rng In Range("A1:A100")
If rng.Value <> SV Then
rng.Rows.EntireRow.Delete
End If

Next


End Sub

ik heb deze code geschreven die zou moeten alle rijen waar in de A kolom geen XX staat verwijderne.. XX is afhankelijk van de input v d gebruiker, bv BG vr belgië.. deze code doet hij echter niet volledig.. ik moet deze een paar keer herhalen.. wat doe ik fout?

ik heb de indruk dat het is omdat als hij eentje gevonden heeft, dat hij die al direct wist,en VBA gaat dan nr de volgende rij, terwijl alles ondertussen 1 rij is opgeschoven..
 
Laatst bewerkt:
dHallo

Je kunt toch gegevens filteren met de filtermodule van excel en neem zonodig die akties op met de macrorecorder.

Met vr gr


Jack
 
dHallo

Je kunt toch gegevens filteren met de filtermodule van excel en neem zonodig die akties op met de macrorecorder.

Met vr gr


Jack

ja, dit gaat zeker :-) maar ik had graag de code in VBA gehad (ben vba aan het leren stap voor stap..)
 
ja, dit gaat zeker :-) maar ik had graag de code in VBA gehad (ben vba aan het leren stap voor stap..)

Nou, je kunt toch met je macrorecorder al je akties opnemen en daarna je macro code aanpassen, je moest eens weten wat je daar allemaal van kan leren, niks mooier dan dat. ;)

Met vr gr


Jack
 
IK ben er vlug over gelezen , kan zijn dat je de gefilterde waarden moet definieren en dan verwijderen
 
dHallo

Je kunt toch gegevens filteren met de filtermodule van excel en neem zonodig die akties op met de macrorecorder.

Met vr gr


Jack

probleem met filteren bovendien is als je nadien bewerkingen doet op gefilterde data.. en je trekt je formules naar onder, dan gaat hij ook de formules toepassen op de data die "weg"gefilterd is.. vandaar mjn vraag waar mijn VBA code de mist in gaat :)
 
Kijk eens of dit het is wat je bedoelt met wegfilteren.
Met vr gr

dit is zeker wat ik zoek :-) bedankt!

maar ik wil gewoon eens zien van de experts hier hoe dat mijn code aangepast kan worden zodat ze werkt? Nu moet ik mijn VBA code een paar keer laten lopen eer dat het werkt.. en vermoedelijk komt dit door het verschuiven van rijen na het wissen etc.. maar ik laat het aan de experts over om te oordelen waar mijn code in de fout gaat :-)

toch heel hard bedankt voor d emoeite! ik heb er weer van bijgeleerd!
 
dit is zeker wat ik zoek :-) bedankt!

maar ik wil gewoon eens zien van de experts hier hoe dat mijn code aangepast kan worden zodat ze werkt? Nu moet ik mijn VBA code een paar keer laten lopen eer dat het werkt.. en vermoedelijk komt dit door het verschuiven van rijen na het wissen etc.. maar ik laat het aan de experts over om te oordelen waar mijn code in de fout gaat :-)

toch heel hard bedankt voor d emoeite! ik heb er weer van bijgeleerd!

Graag gedaan

(Tip)
Heb je je code al eens laten lopen door rijen te verbergen?
Dan kun je in dit geval beter zien wat er gebeurd.

Code:
Sub tes()
 Dim rng As Range

  SV = InputBox("Geef code in van Land")
    For Each rng In Range("A1:A100")
        If rng.Value <> SV Then
            rng.Rows.EntireRow.Hidden = True
        End If
    Next

End Sub

Met vr gr
Jack
 
Graag gedaan

(Tip)
Heb je je code al eens laten lopen door rijen te verbergen?
Dan kun je in dit geval beter zien wat er gebeurd.

Code:
Sub tes()
 Dim rng As Range

  SV = InputBox("Geef code in van Land")
    For Each rng In Range("A1:A100")
        If rng.Value <> SV Then
            rng.Rows.EntireRow.Hidden = True
        End If
    Next

End Sub

Met vr gr
Jack

dat is een goede ja! mr ik weet ongeveer waar het misgaat.. als hij bv op rij 2 is, en hij moet die wissen.. dan verschuit alles een rij nr boven,stel dat de oorspronkelijke rij 3 ook gewist moest worden.. die wordt nu rij 2, en hij slaagt die dus over omdat hij nr de volgende rij gaat.. dat is volgens mij de "fout".. ik moet dus iets anders vinden.. mss moet ik eerst een variabele creeëren die alle rijnummers omvat die gewist moeten wordenn, en nadien in 1 keer wist.. maar hoe ik dit moet doen, moet ik nog uitzoeken :)
 
Code:
Sub test()
  SV = InputBox("Geef code in van Land")
  For j= 100 to 1 step -1
    If cells(j,1).Value <> SV Then cells(j,1).EntireRow.Delete
  Next
End Sub

PS. vriendelijk verzoek: beëindig de derde persoon enkelvoud altijd met een t.
Dus: we kijken wat er gebeurt
 
Code:
Sub test()
  SV = InputBox("Geef code in van Land")
  For j= 100 to 1 step -1
    If cells(j,1).Value <> SV Then cells(j,1).EntireRow.Delete
  Next
End Sub

PS. vriendelijk verzoek: beëindig de derde persoon enkelvoud altijd met een t.
Dus: we kijken wat er gebeurt

snb! super!! bedankt!!
@iedereen die heeft tips gegeven en oplossingen ook bedankt!!
 
Hallo

Op de valreep nog 1 code met gebruik van autofilter

Met vr gr


Jack
Code:
Sub test1()
    SV = InputBox("Geef code in van Land")
    [A1:A100].AutoFilter 1, "<>" & SV
    Cells.SpecialCells(xlCellTypeVisible).Delete
End Sub
 
@Jack

Code:
Sub test1()
    [A1:A100].AutoFilter 1, "<>" & InputBox("Geef code in van Land")
    Cells.SpecialCells(xlCellTypeVisible).[COLOR="Red"]entirerow[/COLOR].Delete
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan