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

Opgelost regel in een tabel verwijderen met een bepaalde inhoud in een van de kolommen

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste ....
Graag zou ik via vba code/opdrachtknop een regel uit een tabel willen verwijderen die in de kolom : code een 8 bevat.
het nummer 8 zou op meerdere rijen kunnen
voorkomen in de kolom 8

De data in de rijen van de kolommen rondom de tabel mag niets gewist worden.

Is dit mogelijk?

Friend
 

Bijlagen

Of zo:
Code:
Sub Verwijder()
    With ActiveSheet.ListObjects("Tabel1")
        Set found = .ListColumns("Code").Range.Find(What:=8)
        If Not found Is Nothing Then .ListRows(found.Row - .Range.Row).Delete
    End With
End Sub
 
Edmoor, hartelijk dank voor je reactie!

Dat werkt super!
Friend
 
AHulpje, ook bedankt voor jouw reactie!

Werkt ook super!
Friend
 
Alternatief:

Code:
Sub CommandButton1_Click()
  With ListObjects(1).DataBodyRange
    .Replace 8, "",1
    Intersect(.SpecialCells(4).EntireRow, .Offset).Delete
  End With
End Sub
 
Laatst bewerkt:
Ik vrees dat met die code alle 8-en uit de tabel zullen verdwijnen.
 
En ook alle tabelrijen waar mogelijk nog niets is ingevuld.
 
Default bij 'replace' is xlwhole (1)

Dan was het voorbeeld niet representatief.
 
SNB, nog dank voor je reactie en code. Dat werkt maar zoals emields (bedankt voor de reactie) al zegt dat verwijdert ook de regels in de tabel waar bv 88 staat. En zoals AD1957 (bedankt voor de reactie) zegt ook de lege regels in de tabel. Op zich in dit geval niet erg omdat er hier geen lege regels in voorkomen. Waar plaats ik dan precies jouw aanvulling : Default bij 'replace' is xlwhole (1)in de code ?
 
Beetje wakker geschut door Emields, maar AHulpje jouw code verwijdert ook de regels met bv 88 in de tabel
 
Beetje wakker geschut door Emields, maar AHulpje jouw code verwijdert ook de regels met bv 88 in de tabel
Dat klopt, maar zo gaat het wel goed:
Code:
Set found = .ListColumns("Code").Range.Find(What:=8, LookAt:=xlWhole)
 
Code:
Sub Verwijder()
 With ActiveSheet.ListObjects("Tabel1")
  found = Application.Match(8, .ListColumns("Code").DataBodyRange, 0)
  If IsNumeric(found) Then .ListRows(found).Delete
 End With
End Sub
 
De code van HSV zal zeer goed werken zolang er maar 1 keer 8 in de code staat, bij meerdere waarden 8 zal je moeten herhaaldelijk op de knop drukken tot je zelf denkt dat eer geen meer staan.
 
Klopt helemaal, er staat ook maar een keer een 8 in het bestand.
 
Heb ik gelezen, maar dan zet je niet meerdere keren een 1 erin lijkt mij.
Een representatief voorbeeldbestand waar jij continu om zeurt voorkomt dit.

Ik laat het eerst bij deze code, zien we later wel weer.
 
Emields, dank je wel voor je code! Werkt prima!
 
Ahulpje, bedankt ook voor jouw aanvulling. Werkt goed. Verwijdert regel voor regel met alleen een single 8!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan