Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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

Msgbox
14.04.2022 12:02:07
Benny
Hallo Excel Profis,
Ich habe folgendes Problem:
Beim Ersten öffnen einer Datei in einem neuen Monat wird eine erste MsgBox angezeigt die mit OK bestätigt oder mit Cancel abgebrochen wird.
Nach bestätigen mit OK wird ein Sheet aktiviert und eine zweite MsgBox erscheint, die nach 3 Sek. ausgeblendet werden soll.
Das funktioniert soweit alles super, bis auf das ausblenden nach 3 Sek. Man muss die zweite MsgBox mit OK bestätigen damit sie ausgeblendet wird.
Wurde aber bei öffnen der Datei die erste MsgBox mit Cancel abgebrochen, und das Sheet manuell aktiviert, erscheint die zweite MsgBox und wird nach 3 Sek. ausgeblendet.
Habe schon rumgebastelt und nach Lösungen gesucht, kann aber nichts finden. Habe keine Ahnung wo das Problem liegt.
Wäre toll wenn jemand eine Idee hätte.
Gruß Benny

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Msgbox
14.04.2022 12:13:58
Mullit
Hallo Benny,
zeig uns mal deinen Code u/oder Mappe....
Gruß, Mullit
AW: Msgbox
14.04.2022 12:41:51
Benny

Private Sub Workbook_Open()
'Beim ersten öffnen im Monat öffnet Sheets("1"), sonst Sheets("2")
If Month(Sheets("3").Cells(1, 5))  Month(Sheets("2").Cells(1, 1)) Then
Sheets("1").Activate
If MsgBox("Die Datei wurde das Erste Mal im neuen Monat geöffnet." & Chr(10) & _
"Bitte Sheets(2) mit OK Automatisch aktivieren," & Chr(10) & _
"um letzte Eingaben für den Vormonat zu tätigen." & Chr(10) & _
"Bei Abbrechen, das Sheets(2), bitte Manuell auswählen." _
, vbExclamation + vbOKCancel) = vbOK Then
Sheets("2").Activate
Else
Exit Sub
End If
End If
Sheets("2").Activate
VBA im Sheet 2
Dim f, i, j, y As Integer
j = 3
y = 2021
For f = 1 To 13
If y = Sheets("3").Cells(15, 5).Value Then
For i = 1 To 12
If Sheets("3").Cells(j, 5).Value = Sheets("3").Cells(2, 5).Value Then
MsgZeit
End If
j = j + 1
Next i
End If
y = y + 1
Next f
Modul 2
Sub MsgZeit()
Const bytZeit As Byte = 3
Dim objWSH As Object, intMSG As Integer
Set objWSH = CreateObject("WScript.Shell")
intMSG = objWSH.Popup("!!! Bitte noch die Daten für den Vormonat eingeben wenn nötig !!!" _
& Chr(10) & "Beim aktivieren von Sheet (3) werden die Monatsdaten" _
& Chr(10) & "sowie im Januar die Jahresdaten gespeichert.", _
bytZeit, "Diese Nachricht wird in " & bytZeit & " Sekunden gelöscht", vbExclamation)
Set objWSH = Nothing
End Sub
Benny
Anzeige
AW: Msgbox
14.04.2022 13:11:03
Mullit
Hallo,
ah ja, hab ich mir gedacht, wenn ich richtig erinnere, funktioniert die Popup-Variante in neueren Vers. nicht mehr zuverlässig...Nimm ein UserForm, Schließen über Application.Ontime, oder eine Api-Lösung...
Gruß, Mullit
AW: Msgbox
14.04.2022 17:42:49
Benny
Hallo Mullit,
Danke für den Hinweis, werde dann mal Basteln.
Ist doch aber unlogisch, das beim manuellen anklicken des Sheets die MsgBox nach 3 Sek. verschwindet, und beim automatischen aktivieren nicht.
Gruß Benny
AW: Msgbox
14.04.2022 23:45:14
volti
Hallo Benny,
falls noch nicht gelöst. Hier eine API-Lösung.
Code:


Private Declare PtrSafe Function MessageBoxTimeoutA Lib "user32" ( _ ByVal hwnd As LongPtr, _ ByVal lpText As String, ByVal lpCation As String, _ ByVal uType As Long, ByVal wLanguageId As Integer, _ ByVal dwMiliseconds As Long) As Long Sub test() Dim intMsg As Long, bytzeit As Long bytzeit = 3000 intMsg = MessageBoxTimeoutA(Application.hwnd, _ "!!! Bitte noch die Daten für den Vormonat eingeben wenn nötig !!!" _ & Chr(10) & "Beim aktivieren von Sheet (3) werden die Monatsdaten" _ & Chr(10) & "sowie im Januar die Jahresdaten gespeichert.", _ "Diese Nachricht wird in " & bytzeit & " Sekunden gelöscht", _ vbExclamation, 0, bytzeit) End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Msgbox
15.04.2022 13:07:42
Benny
Hallo Karl-Heinz,
Danke für den Tip. Werde es mal probieren.
AW: Msgbox
15.04.2022 15:40:19
Benny
Habe eine Userform genommen, jetzt funktioniert alles Super.
Danke für Eure Tips.
Gruß Benny
AW: Msgbox
14.04.2022 12:14:51
GerdL
Hallo Benny,
das Problem könnte an deinem nicht gezeigten Code liegen.
Gruß Gerd
AW: Msgbox
15.04.2022 15:44:21
snb
Man sollte gleichartige Daten in nur 1 Arbeitsblatt speichern.
Dann ist dein Vorgehensweise mit MsgBoxen völlig überflüssig.
Anders gesagt: du kreierst Probleme statt sie zu lösen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige