Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

vbYesNo

vbYesNo
26.08.2005 06:51:16
gnilk
Hallo Leute,
mein Makro steht! Ich war mal so arrogant und habe VBA als gut angegeben. Ist vielleicht nicht ganz wahr. Aber ich bin so stolz auf mein Tool.
Nun gut, zu meinem Problem. Das Ganze Tool ist noch nicht so benutzerfreundlich. Ich habe eine Feld in einer Wenn Dann Bedingung, dass den Benutzer fragt, ob er das Tool abrechen soll oder nicht.
Ich will, dass beim Anklicken von YES das Makro beendet wird. Also GoTo Give Up und beim Anklicken von NO soll es wieder zum Anfang springen, also GoTo Start.
Kann mir jemand helfen? Ich habe schon so viel versucht, aber irgendwie funktioniert es noch nicht. Bin fuer jede Anregung offen.
Hier mein bisheriger Code:

Private Sub CommandButton1_Click()
'       sollte jetzt die Box zum Eintragen zeigen
Start: Dim filStr As Variant
filStr = InputBox("Please insert the order number of this month", "Order Number")
'       abrechen, falls keine Werte in der Box sind
If StrPtr(filStr) = 0 Then
MsgBox "You want to cancel it?", vbYesNo, "Warning"
If vbYesNo = No Then GoTo Start
ElseIf vbYesNo = Yes Then GoTo GiveUp
ElseIf filStr = "" Then
MsgBox "This was OK, but a order number is needed!", , "Help"
GoTo Start
Else
MsgBox "Beautiful!", , "Let's go"
End If
'       Abbruch des Makro, wenn man zu GiveUp kommt
GiveUp:
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbYesNo
26.08.2005 07:01:13
Nepumuk
Hi,
ich sag jetzt mal nix dazu.
Private Sub CommandButton1_Click()
    Dim filStr As String
    Do
        filStr = InputBox("Please insert the order number of this month", "Order Number")
        If StrPtr(filStr) = 0 Then
            If MsgBox("You want to cancel it?", vbYesNo, "Warning") = vbYes Then Exit Do
        Else
            If Trim$(filStr) = "" Then
                MsgBox "This was OK, but a order number is needed!", , "Help"
            Else
                MsgBox "Beautiful!", , "Let's go"
                ' Hier dein Code mit dem es weiter geht
                Exit Do
            End If
        End If
    Loop
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: vbYesNo
26.08.2005 08:02:59
gnilk
Hallo Nepumuk,
geht irgendwie immer noch nicht. Das mit dem Loop ist echt cool, aber irgendwie funzt es nicht. Wenn ich nach der MsgBox "You want to cancel it?" auf YES druecke, macht das Makro weiter.
Das Problem ist wahrscheinlich, dass ich Dir nicht den kompletten Code geschickt habe. Also danach kommt noch voll das Gedoens. Mein GiveUp steht daher am Ende vom Makro. Ich kann Dir nicht den kompletten Code schicken, da der echt zu lange ist. Am Besten waere einfach nur zu GiveUp zu gehen wenn man die Frage zum Abbruch mit YES bestaetigt.
Faellt Dir da was ein, oder ist es zu konfus?
Ciao
Gnilk
Anzeige
AW: vbYesNo
26.08.2005 08:09:05
gnilk
Gude Nepumuk,
hat doch geklappt, vielen Dank.
Sollte besser doch nicht VBA gut angeben. :-)
Tausend Dank
Gruesse aus Australien
Ciao
Gnilk
@ Nepumuk
26.08.2005 08:53:09
MichaV
Hallo Nepumuk,
da bin ich aber froh, daß die aus meiner Feder stammende Abfrage mit StrPtr durch Deine Qualitätskontrolle gekommen ist. Du siehst, ich hab aus Deinem Quiz gelernt.
Ich schwöre, die GoTos sind nicht von mir, ich wollte sie gnilk ausreden!
Eine Frage hab ich trotzdem: Gibt es einen tieferen Grund, warum Du aus dem ElseIf
ein Else
If
machst?
Gruss- Micha
AW: @ Nepumuk
26.08.2005 09:01:42
Nepumuk
Hi Micha,
weil ich um 7:00 erst eine halbe Tasse Kaffee intus hatte. :-)
Extra für dich:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
    Dim filStr As String
    Do
        filStr = InputBox("Please insert the order number of this month", "Order Number")
        If StrPtr(filStr) = 0 Then
            If MsgBox("You want to cancel it?", 4, "Warning") = 6 Then Exit Sub
        ElseIf Trim$(filStr) = "" Then
            MsgBox "This was OK, but a order number is needed!", 0, "Help"
        Else
            MsgBox "Beautiful!", 0, "Let's go"
            Exit Do
        End If
    Loop
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: @ Nepumuk
26.08.2005 09:13:09
MichaV
Hallo
Danke Danke. Ich wollt nur ermitteln, ob es da Performance- Unterschiede gibt oder irgendwelche undokumentierten Sachen, Eleganzgeschichten oder was auch immer, die dem Einsatz von ElseIf im Wege stehen.
Lass Dir den Kaffee schmecken.
Gruss- Micha
PS: Sogar mit dem IIf hab ich mich inzwischen angefreundet.

136 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige