Leden verwijderen uit een ledenbestand

Status
Niet open voor verdere reacties.

Jemppi

Nieuwe gebruiker
Lid geworden
19 nov 2013
Berichten
1
Hallo,

ik heb een ledenbestand van een vereniging dat binnenkort door verschillende personen kan bijgewerkt worden.
Het excelbestand bevat o.a. volgende kolommen:
A = volgnummer
B = stamnummer
C = naam
D = voornaam.
Ik wil ten behoeve van andere gebruikers een macro creëren om ex-leden te verwijderen.
Om toch enkele controles in te bouwen heb ik het volgende gecreëerd.
Code:
Dim FindString As String
    Dim Rng As Range
    FindString = InputBox("Vul een stamnummer in")
    If Trim(FindString) <> "" Then
        With Sheets("Ledenlijst").Range("B4:B9999")
            Set Rng = .Find(What:=FindString, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
                If Not Rng Is Nothing Then
                Application.Goto Rng, True
                ActiveCell.EntireRow.Select
            Else
                MsgBox "Stamnummer niet gevonden"
     End If

Hiermee selecteert excel de rij waarin het stamnummer staat.
Nu zou ik willen dat er een MsgBox verschijnt waarin staat "Bent u zeker dat u X wil verwijderen?"
In de plaats van X zou dan de naam + de voornaam van de betrokken persoon moeten verschijnen.
Ik ben zelf nog maar enkele dagen met VBA bezig, ik begrijp het nog niet helemaal.

PS ik werk met Excel 2010

Bedankt, Jemppi
Kan dit?
 
Laatst bewerkt door een moderator:
Visual Basic is iets anders dan Visual Basic for Applications, VBA is programmeren binnen Office applicaties. Verplaatst naar juiste sectie.
 
Zoiets?
In de msgbox staat "nee" geselecteerd (vbdefaultbutton1 = "ja").
Code:
Dim FindString As String
    Dim Rng As Range
    FindString = InputBox("Vul een stamnummer in")
    If Trim(FindString) <> "" Then
        With Sheets("Ledenlijst").Range("B4:B9999")
            Set Rng = .Find(FindString, , xlValues, xlWhole)
        If Not Rng Is Nothing Then
                Application.Goto Rng.EntireRow, True
               If MsgBox("Bent u zeker dat u " & Rng.Offset(, 2) & " " & Rng.Offset(, 1) & " wil verwijderen?", vbYesNo + vbInformation + vbDefaultButton2) = vbYes Then
                  Rng.EntireRow.Delete
               End If
            Else
              MsgBox "Stamnummer niet gevonden"
                End If
           End With
     End If
 
Een wijze raad van Tante Kaat.
Als je met meerdere gebruikers een bestand bewerkt maak dan gebruik van een Userform van waaruit je alle acties zoals nieuwe leden toevoegen, gegevens bewerken of gegevens verwijderen kan sturen.
Op deze manier geef je geen rechtstreekse toegang tot je werkblad met alle gegevens, dit om je een hoop narigheid te besparen.
 
En een reactie achter laten lijkt me ook geen overdreven actie (tenslotte doen we het daar voor).
Ook beter voor eventuele zoekenden, die gaan af of het goed is bevonden door de topicstarter.
Natuurlijk staat het op opgelost, maar dit gaat volgens mij ook automatisch na een maand (tenminste op ander fora).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan