Rijen selecteren in een tabel en verwijderen

Status
Niet open voor verdere reacties.

gast0666

Gebruiker
Lid geworden
21 jun 2019
Berichten
90
Beste Forumleden,

Ik heb een gefilterde tabel waarin ik de kolom "Dagboek" sorteer. Daarna wil ik de geselecteerde rijen, die voldoen aan de criteria, verwijderen.
De code die ik er aan toegekend heb werkt niet. De code maakt deel uit van een bestaande code.
Bijgaand ook het Excel bestandje.
Kan iemand mij nog een keer helpen?

Code:
ActiveSheet.ListObjects("Tabel_Boekingen").Range.AutoFilter Field:=7, Criteria _
="ABNA bank" & "Kas" & "Memoriaal"
Range("A15:S592").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.ClearContents
[CODE/]
 

Bijlagen

  • test.xlsx
    12,1 KB · Weergaven: 44
Ik heb een oplossing gevonden. De macro werkt, maar ik weet niet of die er "vlotjes" uit ziet.
Kan ik deze nog verbeteren?

Code:
Application.ScreenUpdating = False
For a = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Range("G" & a) = "ABNA bank" Then
Rows(i).Delete
End If
If Range("G" & a) = "Kas" Then
Rows(i).Delete
End If
If Range("G" & a) = "Memoriaal" Then
Rows(i).Delete
End If
Application.ScreenUpdating = True
Next
ActiveWorkbook.Save
[CODE\]
 
nog altijd die techniek van de tagging niet onder controle zie ik ...
Effe proberen :

  1. tik eerste je volledige code of copy/paste ze
  2. selecteer dan de code, van eerste tot laatste letter
  3. en druk dan op het derde laatste tekentje van de tweede rij iconen die je boven het schrijfvlak van de editor ziet : dit dus ... #

en daarna reactie plaatsen !

Dat geeft dan :

Code:
Application.ScreenUpdating = False
For a = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Range("G" & a) = "ABNA bank" Then
Rows(i).Delete
End If
If Range("G" & a) = "Kas" Then
Rows(i).Delete
End If
If Range("G" & a) = "Memoriaal" Then
Rows(i).Delete
End If
Application.ScreenUpdating = True
Next
ActiveWorkbook.Save
 
Beste DigiCafee,

Dank voor je reactie.
Je bent de eerste die mij de weg in het forum wijst.
Ik wist het dus niet. Wellicht is er ergens een handleiding maar daar heb ik nog niet naar gezocht.
 
Met een autofilter.
Code:
Sub hsv()
Application.DisplayAlerts = False
With Cells(1).CurrentRegion
  .AutoFilter 7, Array("ABNA Bank", "Kas", "Memoriaal"), 7
  .Offset(1).Delete
  .AutoFilter
End With
End Sub
 
Dank voor je antwoord Harry.

Helaas werkte de code niet en heb de oude code terug gezet.
Ik doe vast iets verkeerd.

mvg,
 
Laatst bewerkt door een moderator:
Je kan weinig fout doen.
 

Bijlagen

  • Memoriaal.xlsb
    13,9 KB · Weergaven: 45
Hallo HSV en anderen,

Het lukt mij nog steeds niet met de voorgestelde macro van HSV.
Nogmaals mijn eigen macro die wel werkt.
In de quote de foutmelding.

Code:
Blad5.Select
ActiveSheet.Unprotect
Application.ScreenUpdating = False
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Range("G" & i) = "ABNA bank" Then
[QUOTE][Rows(i).Delete[/QUOTE]
End If
If Range("G" & i) = "Kas" Then
Rows(i).Delete
End If
If Range("G" & i) = "Memoriaal" Then
Rows(i).Delete
End If
Application.ScreenUpdating = True
Next

mvg,
 
Laatst bewerkt door een moderator:
De macro van mij zal bij iedereen perfect werken, maar stoor je daar niet aan.
Je eigen macro die wel werkt met de foutmelding: [rows(i).delete

Wat doet die haak aan de linkerkant daar?
 
Beste HSV,

De haak komt van een tag.
Ik wilde daar mee aangeven dat de macro in die regel struikelt.

mvg,
 
Laatst bewerkt door een moderator:
Plaats jouw bestand eens, want de autofilterarray werkt perfect.

Zet beide codes er eens in, dan kijken we wel wat er aan schort.
 
Beste HSV en anderen,

Bijgaand heb ik het testbestand ingesloten.
Het betreft een werkblad waarin de boekingen worden weergegeven.
Ik heb onderstaande formule gebruikt en die werkt wel, maar is niet echt intelligent.

Het lukt mij niet om het bestand te uploaden. Er staan er wel 6 in van voorgaande berichten.
Kan ik die verwijderen?

Code:
ActiveSheet.Unprotect
Application.ScreenUpdating = False
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Range("G" & i) = "ABNA bank" Then
Rows(i).Delete
End If
If Range("G" & i) = "Kas" Then
Rows(i).Delete
End If
If Range("G" & i) = "Memoriaal" Then
Rows(i).Delete
End If
Application.ScreenUpdating = True
Next

mvg,
 
Laatst bewerkt door een moderator:
Koop eens een leesbril.;) #11 gemist net als in jouw vorige draadje(s)? Verder reageer je totaal niet op vragen die hier gesteld worden om jou verder te helpen. #13 blijkbaar ook gemist. Om steeds met het hetzelfde te komen zal je niet veel verder helpen.
 
Beste VenA,

Excuses voor mijn gedrag. Ik beantwoord de opmerkingen, denk ik, wel.
Maar door een slecht kort geheugen kan me wel eens iets ontgaan.
Ik ben ook de jongste niet meer maar doe wel mijn uiterste best.
Misschien is dit forum voor mij net iets te hoog gegrepen.

mvg,
 
Laatst bewerkt door een moderator:
Als het een groot bestand is moet je het opslaan als .xlsb (binair Excel werkmap) en maar eens opnieuw proberen.
 
Lukt niet.
Ik krijg een foutmelding.

Ik weet niet wat de # toetsen inhouden met een volgnummer.
Snap het echt niet.

mvg,
 
Laatst bewerkt door een moderator:
Da's dan jammer.

Aan de rechterkant van de reacties staat een # met een nummer.
Dit wordt nu #19.

Zoveel vragen of reacties zijn er geweest.
 
Beste HSV,

Bedankt. Voor ik weer iets post, ga ik de handleiding van het forum maar eens doorlezen.

mvg,
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan