Registriert seit: 18.06.2015
Version(en): 2010
Hallo Forum,
ich brauche mal wieder eure Hilfe,
Ich habe eine arbeitsmappe mit einem Arbeitsblatt (4) in dem einige Sachen eingegeben werden.
Unter anderem wird in einer Zelle (E4) die Differenz aus zwei Kalender-Daten in Tagen berechnet.
Wenn differenz jeweils 2 / 4 / 6 / 8 /10 / 12 beträgt soll eine Erinnerung erscheinen.
Ich habe dies in dieser Form realisiert. Jedoch will das so nicht laufen.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim cb As CommandBar
Dim raBereich As Range
If ThisWorkbook.Worksheets(4).Range("B29").Value >= 1 Then
If MsgBox("An die Weiterführung der Antibiosetage gedacht ???", vbYesNo, "Hinweis") = vbNo Then
Application.GoTo ThisWorkbook.Worksheets(4).Range("k25")
Cancel = True
End If
End If
If ThisWorkbook.Worksheets(4).Range("K5") = "" And ThisWorkbook.Worksheets(4).Range("c4") <> "" Then
MsgBox ("Bitte das Aufnahmedatum eingeben")
Range("k5").Select
Cancel = True
End If
If ThisWorkbook.Worksheets(4).Range("e9").Value = 2 Or 4 Or 6 Or 8 Or 10 Or 12 Then
MsgBox ("Trala") 'mit dieser Anweisung gibt er mir die MsgBox immer aus egal welcher Wert in E9 steht
End If
Kann mir jemand einen Tipp geben
Danke
Hubert
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Hubert,
Code:
If ThisWorkbook.Worksheets(4).Range("e9").Value < 13 And Not WorksheetFunction.IsOdd(ThisWorkbook.Worksheets(4).Range("e9").Value) Then
MsgBox ("Trala") 'mit dieser Anweisung gibt er mir die MsgBox immer aus egal welcher Wert in E9 steht
End If
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 18.06.2015
Version(en): 2010
Hallo,
danke für die schnelle Antwort. Es funkrioniert so nicht.
Jetzt gibt er mir keine MsgBox aus.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim cb As CommandBar
Dim raBereich As Range
If ThisWorkbook.Worksheets(4).Range("B29").Value >= 1 Then
If MsgBox("An die Weiterführung der Antibiosetage gedacht ???", vbYesNo, "Hinweis") = vbNo Then
Application.GoTo ThisWorkbook.Worksheets(4).Range("k25")
Cancel = True
End If
End If
If ThisWorkbook.Worksheets(4).Range("K5") = "" And ThisWorkbook.Worksheets(4).Range("c4") <> "" Then
MsgBox ("Bitte das Aufnahmedatum eingeben")
Range("k5").Select
Cancel = True
End If
If ThisWorkbook.Worksheets(4).Range("e9").Value < 13 And Not WorksheetFunction.IsOdd(ThisWorkbook.Worksheets(4).Range("e9").Value) Then
MsgBox ("Trala") 'mit dieser Anweisung gibt er mir die MsgBox immer aus egal welcher Wert in E9 steht
Range("f56").Select
Cancel = True
End If
Gruß
Hubert
Registriert seit: 18.06.2015
Version(en): 2010
(18.06.2015, 13:35)cavok schrieb: Hallo,
danke für die schnelle Antwort. Es funkrioniert so nicht.
Jetzt gibt er mir keine MsgBox aus.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim cb As CommandBar
Dim raBereich As Range
If ThisWorkbook.Worksheets(4).Range("B29").Value >= 1 Then
If MsgBox("An die Weiterführung der Antibiosetage gedacht ???", vbYesNo, "Hinweis") = vbNo Then
Application.GoTo ThisWorkbook.Worksheets(4).Range("k25")
Cancel = True
End If
End If
If ThisWorkbook.Worksheets(4).Range("K5") = "" And ThisWorkbook.Worksheets(4).Range("c4") <> "" Then
MsgBox ("Bitte das Aufnahmedatum eingeben")
Range("k5").Select
Cancel = True
End If
If ThisWorkbook.Worksheets(4).Range("e9").Value < 13 And Not WorksheetFunction.IsOdd(ThisWorkbook.Worksheets(4).Range("e9").Value) Then
MsgBox ("Trala") 'mit dieser Anweisung gibt er mir die MsgBox immer aus egal welcher Wert in E9 steht
Range("f56").Select
Cancel = True
End If
Gruß
Hubert
Hallo,
Ich muss mich korrigieren. Ich bekomme die MsgBox immer bei Zahlen unter 13. Ich wollte es jedoch so dass die MsgBox nur auftaucht bei geraden Zahlen.
Und noch ein Problem. Ich bin dann in einer Endlosschlaufe gefangen. ich komm nicht mehr raus wenn die MsgBox auftaucht.
Gruß
Hubert
Registriert seit: 11.04.2014
Version(en): Office 2007
18.06.2015, 14:00
(Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2015, 14:02 von Steffl.)
Hallo,
Code:
If Not WorksheetFunction.IsOdd(ThisWorkbook.Worksheets(4).Range("e9").Value) Then
MsgBox ("Trala") 'mit dieser Anweisung gibt er mir die MsgBox immer aus egal welcher Wert in E9 steht
Endlosschleife? Das Schließen wird wegen Cancel = True abgebrochen.
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 13.04.2014
Version(en): 365
Hallo,
Code:
If WorksheetFunction.IsEven(Range("E9")) and Range("E9")<13 Then MsgBox "Trala"
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 18.06.2015
Version(en): 2010
Hallo,
Danke! Aus der Endlosschlaufe bin ich befreit.
Die MsgBox geht jedoch immer noch nicht auf, bei geraden Zahlen in E9
Gruß
Hubert
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
welchen Code hast Du jetzt?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 18.06.2015
Version(en): 2010
(18.06.2015, 16:02)Steffl schrieb: Hallo,
welchen Code hast Du jetzt?
Hallo,
If Not WorksheetFunction.IsOdd(ThisWorkbook.Worksheets(4).Range("e9").Value) Then
MsgBox ("Trala")
End If
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Hubert,
könntest Du die Datei hier hochladen? Ich habe meine Lösung auch getestet, da ging definitiv bei einer geraden Zahl die MsgBox auf.
Gruß Stefan
Win 10 / Office 2016