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

Code voor verwijderen data

Status
Niet open voor verdere reacties.

JosEindhoven

Gebruiker
Lid geworden
4 dec 2014
Berichten
431
Hallo

Ik heb een bestand waar mee ik erg geholpen ben door gast0660 maar waar ik verder niet uitkom.
In het formulier ledenkaart kan ik zoeken naar de voornaam.
Wat ik niet voor elkaar krijg is om de voornaam en bijbehorende gegevens te verwijderen van het tabblad LIJSTEN uit de kolommen c:f en het bijbehorende pdf bestand uit de folder stamkaarten.

Dit kan natuurlijk wel handmatig maar een opdrachtknop zou praktischer zijn
 

Bijlagen

@ JosEindhoven: Bericht verwijderd.
 
@Ad Becude, Wat staat er dan in het privébericht? En waarom via een privébericht?
 
Alle niet ter zake doende berichten verwijderd. We beginnen opnieuw.
 
Ik heb tot nu toe deze code onder een opdracht knop

Alleen bij ws.rows gaat het fout. Los van de code vind hij de row niet
Wat doe ik verkeerd????

Code:
Private Sub CommandButton2_Click()
 Set ws = Worksheets("Lijsten")
    Set Rng = ws.Range("D3:D" & ws.Cells(Rows.Count, "D").End(xlUp).Row)
    Set fnd = Rng.Find(What:=LB_00.Value, LookIn:=xlValues, LookAt:=xlWhole)
    If LB_00.ListIndex = -1 Then
        MsgBox "Kies eerst een ingave in de lijst!", vbCritical, "Ingave?"
        LB_00.SetFocus
        Exit Sub
    End If
    If MsgBox("Ingave verwijderen, ben je zeker?", vbQuestion + vbYesNo, "Bevestig wissen!") = vbNo Then Exit Sub
    [COLOR="#FF0000"]ws.Rows(fnd.Row).Delete[/COLOR]
    MsgBox "De ingave is verwijderd!", vbInformation, "Klaar"
        
End Sub
 
Laatst bewerkt door een moderator:
Als deze waarde...
Code:
Set fnd = Rng.Find(What:=LB_00.Value, LookIn:=xlValues, LookAt:=xlWhole)
..is nothing (niet gevonden dus) dan gaat het hier fout.
Code:
 ws.Rows(fnd.Row).Delete

Dat is op te lossen door:
Code:
if not fnd is nothing then
     If MsgBox("Ingave verwijderen, ben je zeker?", vbQuestion + vbYesNo, "Bevestig wissen!") = vbYes Then
     ws.Rows(fnd.Row).Delete
    MsgBox "De ingave is verwijderd!", vbInformation, "Klaar"
    end If
 end if
 
Je moet ook niet in kolom D zoeken, maar in A.

De LB_00.value = een nummer die in kolom A staat.
 
@ Edmoor

Ed op zich werkt je code wel alhoewel hij alles weggooit wat op de scheet proeven staat. Bovendien zou het ledennummer of naam variabel moeten zijn
 
Dat krijg je als je twee keer dezelfde vraag stelt.

Ik heb de moderator verzocht de ander te sluiten.
 
Dat ik 2x dezelfde vraag heb gesteld had ik niet zo in de gaten Harry. Ik wist dat dit niet mocht dus een welgemeend mea culpa. Echter mijn probleem is hiermee niet opgelost
 
Probeer het zo maar eens.

Code:
Private Sub CommandButton2_Click()
  With Worksheets("Lijsten")
    Set fnd = .ListObjects(1).DataBodyRange.Columns(3).Find(What:=LB_00.Value, LookIn:=xlValues, LookAt:=xlWhole)
    If LB_00.ListIndex = -1 Then
        MsgBox "Kies eerst een ingave in de lijst!", vbCritical, "Ingave?"
        LB_00.SetFocus
        Exit Sub
    End If
    If MsgBox("Ingave verwijderen, ben je zeker?", vbQuestion + vbYesNo, "Bevestig wissen!") = vbNo Then Exit Sub
    MsgBox fnd.Row
     .ListObjects(1).Range.Rows(fnd.Row - 1).Delete
    MsgBox "De ingave is verwijderd!", vbInformation, "Klaar"
  End With
End Sub
 
Harry bedankt voor je snelle reactie maar de vraag ging over het andere bestand. Ik heb het nog even toegevoegd

Onderstaand de vraag :

Ik heb een bestand ledenkaart. Op het formulier zit een button lid verwijderen. Dan word het formulier verwijderen geopend. In de linker listbox kan ik een ruiter verwijderen. Hij verwijdert hem alleen uit de sheet leden maar niet uit de sheet proeven waar de naam meerdere keren kan voorkomen. Kan iemand mij misschien aan de vba code helpen cq de bestaande code aanpassen.
 

Bijlagen

Code:
Private Sub LB_03_Click()
Set ws = Worksheets("Leden")
    Set rng = [LNRs]
    Set fnd = rng.Find(What:=LB_03.Column(0), LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
    smessage = "Ruiter verwijderen, ben je  zeker" + "?"
    If Not fnd Is Nothing Then
    If MsgBox(smessage, vbQuestion + vbYesNo, "Bevestig verwijderen") = vbYes Then
    ws.Rows(fnd.Row).Delete
      With Sheets("proeven").Columns(1)
      Set c = .Find(LB_03.Column(0), , , xlWhole)
      If Not c Is Nothing Then
           Set cl = c
           firstaddress = c.Address
        Do
         
         Set c = .FindNext(c)
           Set cl = Union(cl, c)
       Loop While Not c Is Nothing And c.Address <> firstaddress
       cl.Delete
      End If
    End With
    MsgBox "De ruiter is verwijderd.", vbInformation, "Klaar"
   End If
 End If
Unload Me
Ledenkaart.Show
    End Sub
 
Harry dit werkte al voor de sheet leden maar de code wijzigt niets in de sheet proeven waar het lid ook staat en zelfs meerdere malen. Dat was nu eigenlijk mijn probleem en vraag
 
Dan heb je het niet getest!
 
Harry ik heb in het formulier Verwijderen de code voor lb_03 vervangen door jouw code maar op het tabblad proeven gebeurt niets. Het kan natuurlijk ook zo zijn dat ik iets fout doe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan