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

MsgBox met voorwaarden

Status
Niet open voor verdere reacties.

Judithdoek

Gebruiker
Lid geworden
9 mrt 2021
Berichten
70
Hallo allemaal,

Bijgevoegd een voorbeeldbestand met een probleem waar ik tegenaan loop. In het originele bestand (die ik niet kan delen, wegens vertrouwelijke gegevens) heb ik meerdere codes gebruikt die aan het bestand hangen.

Nu lukt het mij niet om een melding te creëren die bepaalde acties uitvoert aan de hand van voorwaarden.

Zie onderstaand de code die ik gebruikt heb.

Code:
Option Explicit
Sub Voorwaarden_project()
Sheets("Blad1").Range("M4").FormulaR1C1 = "=IF(RC[-10]=""Projectafspraak"",1,0)"
Sheets("Blad1").Range("N4").FormulaR1C1 = "=IF(R[4]C[-11]="""",0,1)"
Sheets("Blad1").Range("O4").FormulaR1C1 = "=SUM(RC[-2],RC[-1])"
Sheets("Blad1").Range("O4").Copy
    Sheets("Blad1").Range("O4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Sub Melding_project()
If Sheets("Blad1").Range("O4") = 1 Then
MsgBox "Er is een projectafspraak zonder projectpercentage ingevoerd of er is een projectpercentage zonder projectkorting ingevoerd. Wil je doorgaan?", vbYesNo, 256, vbQuestion, "Onderbreking project"
End If
End Sub
Sub Cellen_leegmaken()
Sheets("Blad1").Range("M4:O4").Delete Shift:=xlToLeft
End Sub
Sub Voortgang_melding()
If MsgBox("Er is een projectafspraak zonder projectpercentage ingevoerd of er is een projectpercentage zonder projectkorting ingevoerd. Wil je doorgaan?", vbYesNo, 256, vbQuestion, "Onderbreking project") = vbNo Then
Exit Sub
End If
End Sub
Private Sub CommandButton1_Click()
Voorwaarden_project
Melding_project
Voortgang_melding
Cellen_leegmaken
End Sub

De bedoeling is dat wanneer er een projectafspraak ingevoerd wordt en er is geen projectpercentage dat er een melding in beeld komt of je door wil gaan (en andersom). Wanneer er op No wordt geklikt, dan moet de programmacode stoppen. In principe is het denk ik beter als ik de code van
Code:
Sub Voortgang_melding()
verplaats onder
Code:
Private Sub CommandButton1_Click()
echter kreeg ik daar ook een foutmelding. Ik weet alleen niet waarom, in een ander bestand gebruikte ik dezelfde syntax en werkte het wel.

Wanneer ik die foutmelding niet kreeg liep ik tegen het probleem aan dat wanneer O4 anders was dan 1 dat de melding als nog in beeld kwam.

Kan iemand mij helpen?
 

Bijlagen

  • Melding met voorwaarden.xlsm
    25,9 KB · Weergaven: 20
Zoiets:
Code:
Select Case Sheets("Blad1").Range("O4")
    Case 1
        MsgBox "Melding 1"
    Case 2
        MsgBox "Melding 2"
    Case Else
        MsgBox "Andere melding"
End Select
 
Bedankt voor je hulp.

Als ik in geval van Case vbYes het proces gewoon door willen laten lopen, hoe benoem ik dit dan?

Bij Case vbNo wil ik het proces beëindigen en doe ik dat met Exit Sub
 
Bijvoorbeeld zo:
Code:
Dim sts As Long
Select Case Sheets("Blad1").Range("O4")
    Case 1
        sts = MsgBox("Melding 1", vbYesNo, vbInformation, "Titel")
    Case 2
        sts = MsgBox("Melding 2", vbYesNo, vbInformation, "Titel")
    Case Else
        sts = MsgBox("Andere melding", vbYesNo, vbInformation, "Titel")
End Select
If sts = vbNo Then Exit Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan