Anzeige
Archiv - Navigation
1900to1904
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
Inhaltsverzeichnis

MsgBox beim ändern der Umschaltfläche

MsgBox beim ändern der Umschaltfläche
20.10.2022 20:22:36
MBodo
Hallo liebe VBA-aner
Ich bin damit beschäftigt eine Datei zu erstellen, in welcher der Ausleihstatus von Mobiltelefonen überwacht werden kann.
In Spalte A habe ich CommandButtons und in Spalte F ToggleButtons, siehe Beispieldatei: https://www.herber.de/bbs/user/155776.xlsm
Mit dem Betätigen des CommandButton1 in Spalte A öffnet es mir eine Mail in Outlook, was super funktioniert.
Nun möchte ich, dass es jeweils eine MsgBox anzeigt, sobald der ToggleButton1 von "True" auf "False" resp. von "Ausgeliehen" auf "Verfügbar" gewechselt wird, wobei die MsgBox folgende Eigenschaften/Funktionen haben soll:
Ja/Nein MsgBox
Titel: Bitte Erhalt bestätigen
Text: Rückgabe von Mobiltelefon mit Bezeichnung: "Range("A5").Value" bestätigen?
Wenn "Ja", dann MsgBox schliessen und ToggleButton1 umschalten auf "False" resp. "Verfügbar";
Wenn "Nein", dann MsgBox schliessen und ToggleButton1 auf "True" resp. "Ausgeliehen" belassen.
Wo muss ich nun den "MsgBox-Code" in meinem Code einfügen?

Private Sub CommandButton1_Click()
Dim appOutlook As Object
Dim meinMail As Object
Set appOutlook = CreateObject("Outlook.Application")
Set meinMail = appOutlook.CreateItem(0)
With meinMail
.To = Worksheets("Daten").Range("C3")
.CC = ""
.Subject = ""
.Body = Worksheets("Daten").Range("C18")
.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!
End With
Set meinMail = Nothing
Set appOutlook = Nothing
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = False Then
ToggleButton1.Caption = "Verfügbar"
ToggleButton1.BackColor = RGB(0, 176, 80)
ToggleButton1.FontSize = 12
ToggleButton1.ForeColor = RGB(0, 0, 0)
Else
ToggleButton1.Caption = "Ausgeliehen"
ToggleButton1.BackColor = RGB(255, 124, 128)
ToggleButton1.FontSize = 12
ToggleButton1.ForeColor = RGB(0, 0, 0)
End If
End Sub
Ich hoffe ich habe mich einigermassen verständlich ausgedrückt und freue mich auf eine Rückmeldung. :-)
Viele Grüsse
MBodo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox beim ändern der Umschaltfläche
20.10.2022 20:31:21
MBodo
Nachtrag
Folgendes habe ich noch vergessen:
Wenn die MsgBox mit "Ja" bestätigt wurde, und somit der ToggleButton1 (in Zeile 5) wieder auf "False" steht, sollen die Zellinhalte von B5, D5 & E5 gelöscht werden.
Danke und Gruss
AW: MsgBox beim ändern der Umschaltfläche
21.10.2022 11:37:37
Yal
Hallo Bodo,
achte unbedingt auf einem sauberen Einrücken. Es ist für die Lesbarkeit und Erkennung von Denkfehler wichtiger als leere zeilen dazwischen. So auch meinen Vorschlag (hoffe ich :-)
Versuche mit:

Private Sub ToggleButton1_Click()
Dim Rückgegeben As Boolean
If ToggleButton1.Value = False Then 'von True auf False. Also False ist der Stand nach dem Klick
Rückgegeben = MsgBox("Rückgabe von Mobiltelefon mit Bezeichnung: " & Range("A5").Value & " bestätigen?", vbCritical + vbYesNo, "Bitte Erhalt bestätigen") = vbYes
If Not Rückgegeben Then
Application.EnableEvents = False
ToggleButton1 = False
Range("B5, D5, E5").ClearContents
Application.EnableEvents = True
End If
Else
Rückgegeben = False
End If
ToggleButton1.Caption = IIf(Rückgegeben, "Verfügbar", "Ausgeliehen")
ToggleButton1.BackColor = IIf(Rückgegeben, RGB(0, 176, 80), RGB(255, 124, 128))
ToggleButton1.FontSize = 12
ToggleButton1.ForeColor = RGB(0, 0, 0)
End Sub
VG
Yal
Anzeige
AW: MsgBox beim ändern der Umschaltfläche
24.10.2022 13:29:10
MBodo
Hallo Yal, vielen Dank für Deine Nachricht und bitte entschuldige die späte Antwort... leider werde ich erst gegen Ende Woche dazukommen zu testen, gebe dann aber gerne Feedback. :-)
Und vielen Dank für den Tipp! :-)
Viele Grüsse
MBodo
AW: MsgBox beim ändern der Umschaltfläche
01.11.2022 17:51:42
MBodo
Hallo Yal,
So - endlich konnte ich Deinen Code testen, hat grundsätzlich super funktioniert - vielen Dank!! :-)
Musste nur noch "Not" bei "If Rückgeben Then" entfernen und dann hat es die Einträge in B5, etc. auch erst gelöscht, wenn die Rückgabe bestätigt wurde und nicht, wenn die Rückgabe nicht bestätigt wurde. :-)
Ich danke dir herzlich für Deine Hilfe und sorry nochmals für die späte Rückmeldung!
VG MBodo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige