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

Userform opnieuw starten (laten staan na foutmelding)

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
Hallo allemaal

Ik heb een een eenvoudige Userform in elkaar gezet
om namen te verwijderen (hele rij)
dat werkt op zich prima.

maar als ik deze userform opstart en verzuim een naam te selecteren
krijg ik een foutmelding
graag had ik ipv die foutmelding - een msgbox met "u heeft niks ingevuld"
dat zal nog wel lukken
maar dan had ik graag dat de userform bleef staan en dat gelijk de optie geboden wordt om wel een naam te selecteren

Code:
Private Sub CommandButton1_Click()
Dim answer As Integer
Dim waarde As String
waarde = ListBox1.Value
answer = MsgBox("Weet je zeker dat je vos" & vbNewLine & waarde & vbNewLine & "Wilt verwijderen uit de lijst?", vbYesNo + vbQuestion, "Vos verwijderen?")
If answer = vbYes Then
Sheets("Vos").Select
Cells.Find(what:=ListBox1.Value).EntireRow.Delete
'listboxen weer vullen'
End If
Unload Me
End Sub
 
Probeer het zo eens

Code:
Private Sub CommandButton1_Click()
Dim answer As Integer
Dim waarde As String
[COLOR="#FF0000"]On Error GoTo Foutafhandeling[/COLOR]
waarde = ListBox1.Value
answer = MsgBox("Weet je zeker dat je vos" & vbNewLine & waarde & vbNewLine & "Wilt verwijderen uit de lijst?", vbYesNo + vbQuestion, "Vos verwijderen?")
If answer = vbYes Then
Sheets("Vos").Select
Cells.Find(what:=ListBox1.Value).EntireRow.Delete
'listboxen weer vullen'
End If
Unload Me
[COLOR="#FF0000"]Exit Sub
Foutafhandeling:
MsgBox "Hier de melding"[/COLOR]
End Sub
 
Code:
if listbox1.listindex > -1 then

...code...

else
msgbox "bla bla"
end if

En misschien heb je de find methode helemaal niet nodig als het gezochte ook nog onderdeel is van de listbox.list.
Maar zonder bestand is dat koffiedik kijken.
 
Laatst bewerkt:
HSV mooie en simpele oplossing dank je wel
omdat je de opmerking maakt over de optie find
doe ik het bestandje er bij misschien dat je even voor mij wilt kijken.
Bekijk bijlage Testopkomstlijst2.0.xlsb
Heb nog een vraag open staan over verwijderen van rij en opslaan

Don
 
Code:
Private Sub CommandButton1_Click()

If ListBox1.ListIndex > -1 Then
    If MsgBox("Weet je zeker dat je vos" & vbNewLine & waarde & vbNewLine & _
        "Wilt verwijderen uit de lijst?", vbYesNo + vbQuestion, "Vos verwijderen?") = vbYes Then
        With Sheets("Vos")
            .Cells(ListBox1.ListIndex + 2, 1).EntireRow.Delete
        End With
        With Sheets("Vos")
            ListBox1.List = .Range("c2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row).Value
        End With
    End If
Else
    MsgBox "Je geen naam geselecteerd om te verwijderen", , "Selecteer een naam"
End If

End Sub
 
Klein beetje ballast nog verwijderd.
Code:
Private Sub CommandButton1_Click()
If ListBox1.ListIndex > -1 Then
    If MsgBox("Weet je zeker dat je vos" & vbNewLine & waarde & vbNewLine & _
        "Wilt verwijderen uit de lijst?", vbYesNo + vbQuestion, "Vos verwijderen?") = vbYes Then
        With Sheets("Vos")
            .rows(ListBox1.ListIndex + 2).Delete
            ListBox1.List = .Range("c2:c" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
        End With
    End If
 Else
    MsgBox "Je geen naam geselecteerd om te verwijderen", , "Selecteer een naam"
End If
End Sub
 
En om zeker te zijn dat er eerst een naam geselecteerd wordt EN om je gebruikers niet teveel lastig te vallen met boodschapjes.
Persoonlijk zou ik die ene ook nog weglaten maar ik heb al gemerkt dat veel gebruikers hier blijkbaar een beetje verliefd zijn op die msgboxen.:D
Code:
Private Sub Userform_initialize()
    With Sheets("Vos")
        ListBox1.List = .Range("c2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row).Value
    End With
    CommandButton1.Visible = False
End Sub

Private Sub ListBox1_Click()
    If MsgBox("Weet je zeker dat je vos" & vbNewLine & ListBox1.List(ListBox1.ListIndex, 0) & vbNewLine & _
        "Wilt verwijderen uit de lijst?", vbYesNo + vbQuestion, "Vos verwijderen?") = vbYes Then
        CommandButton1.Visible = True
    End If
End Sub

Private Sub CommandButton1_Click()
    With Sheets("Vos")
        .Cells(ListBox1.ListIndex + 2, 1).EntireRow.Delete
        ListBox1.List = .Range("c2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row).Value
    End With
    CommandButton1.Visible = False
End Sub
 
Laatst bewerkt:
warme bakkertje
bedankt,

Dit heb ik aan de praat en ga ik zeker gebruiken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan