MsgBox bij code toevoegen

Status
Niet open voor verdere reacties.

mamin

Gebruiker
Lid geworden
9 dec 2013
Berichten
36
Wie kan mij helpen met het toevoegen van msgBox bij mijn VBA code:

Momenteel gebruik ik volgende ComboBox (Userform) voor zoeken in mijn klantenbestand.

Code:
Private Sub CommandButtonShow_Click()
Dim code As Range
    With Worksheets("Bedrijven")
    Set code = .Range("A:AA").Find(ComboBox1.Value, LookIn:=xlValues, Lookat:=xlWhole)
        For i = 2 To 9
            Me("TextBox" & i) = .Cells(code.Row, i)
        Next
    End With

If CommandButton1.Caption = "Expand" Then
CommandButton1.Caption = "Retract"
UserFormZoekBedrijf.Height = 440
Exit Sub
End If

If CommandButton1.Caption = "Retract" Then
CommandButton1.Caption = "Expend"
UserFormZoekBedrijf.Height = 105

With Me
.ComboBox1.Value = ""
End With

Exit Sub
End If

End Sub


Private Sub CommandButton2_Click()
UserFormBedrijven.Show
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub CommandButtonClose_Click()
Unload Me
End Sub

Het zoek veld is een Keuzelijst met invoervak.
Als een bedrijf niet in de lijst/invoervak voorkomt wil ik graag een msgbox "Klant bestaat niet, wilt u deze toevoegen", daarna kan ik mijn andere knop "Klant toevoegen" eraan koppelen.

Weet iemand waar ik de code moet toevoegen/wegzetten?

gr.
 
Misschien zo ?

Code:
Private Sub CommandButtonShow_Click()
Dim code As Range
    With Worksheets("Bedrijven")
    Set code = .Range("A:AA").Find(ComboBox1.Value, LookIn:=xlValues, Lookat:=xlWhole)

[COLOR="#FF0000"]    If code Is Nothing Then
        If MsgBox("Klant bestaat niet, wilt u deze toevoegen", vbYesNo) = vbYes Then
            AddNewClient
        End If
    End If[/COLOR]

        For i = 2 To 9
            Me("TextBox" & i) = .Cells(code.Row, i)
        Next
    End With
    ...
Grtz,
MDN111.
 
MDN111,

bijna....Run time error 91
Object variable or With block variable not set

fout melding: Me("TextBox" & i) = .Cells(code.Row, i)
 
Code:
Private Sub CommandButtonShow_Click()
    Dim code As Range
    With Worksheets("Bedrijven")
        Set code = .Range("A:AA").Find(ComboBox1.Value, LookIn:=xlValues, Lookat:=xlWhole)
        If Not code Is Nothing Then
            For i = 2 To 9
                Me("TextBox" & i) = .Cells(code.Row, i)
            Next
        Else
            If MsgBox("Klant bestaat niet, wilt u deze toevoegen", vbYesNo) = vbYes Then AddNewClient
        End If
    End With
    ...
End Sub
 
Laatst bewerkt:
Ja, ik zie het al. De variabele "code" wordt nog verder gebruikt in de regel "Me("TextBox" & i) = .Cells(code.Row, i)". Als het bedrijf niet voorkomt is die variabele Nothing en dan volgt er een foutmelding. De code van Warme bakkertje is beter.

Grtz,
MDN111.
 
Hij doet het Warme bakkertje :thumb:,

Nog een ding......Ik heb ipv AddNewClient, UserFormBedrijven.Show gezet en alles werkt perfect.
Nu wil ik als ik op "Ja" geklikt heb dat UserFormZoekBedrijf zich afsluit. Waar moet ik Unload Me zetten.
 
Aan, het einde van de 1ste code die je gestart hebt.
 
:D

Ik heb pas 5 weken geleden gehoord dat zoiets als VBA bestaat bij excel :P, dus.......
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan