Thema Datum  Von Nutzer Rating
Antwort
Rot Datum in InputBox
02.02.2017 19:33:50 BlackJack66
NotSolved
02.02.2017 19:55:51 Crazy Tom
NotSolved
03.02.2017 08:16:30 BlackJack66
NotSolved
03.02.2017 07:08:40 GraFri
NotSolved
03.02.2017 08:26:41 BlackJack66
NotSolved
03.02.2017 10:58:32 Gast70117
NotSolved
03.02.2017 13:40:21 BlackJack66
NotSolved
03.02.2017 15:50:24 SJ
NotSolved
03.02.2017 17:21:27 Gast10567
NotSolved
04.02.2017 12:33:51 SJ
NotSolved
04.02.2017 09:02:31 Gast70117
NotSolved
04.02.2017 20:30:12 GraGri
Solved
14.02.2017 08:06:07 BlackJack66
NotSolved

Ansicht des Beitrags:
Von:
BlackJack66
Datum:
02.02.2017 19:33:50
Views:
1542
Rating: Antwort:
  Ja
Thema:
Datum in InputBox

Hallo Forum

Ich bin VBA-Anfänger und habe mir ein Makro mit Hilfe des Forums und anderen Hilfen gebastelt. Das Makro funktioniert eigentlich soweit ganz gut bis auf einen Punkt. Und zwar bekomme ich einfach nicht hin, dass in der InputBox ein fehlerhaftes Datum (z.B. 32.12.2016 oder 29.2.2017 oder einfach nur eine Zahl "5" als fehlerhaft zurückgewiesen wird.

Das Makro sieht wie folgt aus:

Option Explicit
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
'Das Makro soll Tage in einem bestimmten Bereich zusammenzählen und dann ein (und in der Folge weitere) Pop-Up-Fenster öffnen
 
Dim Bereich As range
Dim Box As String
Box = "MsgBox"
 
'Dieser Bereich soll zusammengezählt werden
Set Bereich = Tabelle1.range("d15:d40")
 
'Summe soll in Zelle D41 geschrieben werden
Tabelle1.range("d41").Value = Application.WorksheetFunction.Sum(Bereich)
 
'Zelle G2 ungleich geprüft
If range("g2").Value <> "geprüft" Then
    'Bereich grösser als 90 (Tage)
    If range("d41") >= 90 Then
        MsgBox "Heizung prüfen! (>= 90 Tage)", vbOKOnly + vbExclamation
        Box = MsgBox("Wurde die Heizung geprüft?", vbYesNoCancel + vbQuestion")
            If Box = vbYes Then
                ThisWorkbook.Sheets("Tabelle1").range("g2").Value = "geprüft"
                ThisWorkbook.Sheets("Tabelle1").range("h2").Value = VBA.Environ("UserName")
                ThisWorkbook.Sheets("Tabelle1").range("i2").Value = Format(Now, "DD.MM.YYYY_HH:MM:SS")
                range("g2:i2").Interior.ColorIndex = 4
                ThisWorkbook.Sheets("Tabelle1").range("g10").Value = InputBox("Welche Firma?")
                ThisWorkbook.Sheets("Tabelle1").range("g13").Value = InputBox("Wann geprüft? Bitte Datum eingeben!", , Format(Now, "DD.MM.YYYY"))
                    If IsDate(range("g13").Text) Then
                    range("g13").Value = Format(range("g13").Text, "DD.MM.YYYY")
                    Else
                    range("g13").Value = "Bitte korrektes Datum eingeben" 'Schreibt Text in Zelle G13 wenn Eingabe leer
                    End If
            ElseIf Box = vbNo Then
                ThisWorkbook.Sheets("Tabelle1").range("g2").Value = "NICHT geprüft!!!"
                ThisWorkbook.Sheets("Tabelle1").range("h2").Value = VBA.Environ("UserName")
                ThisWorkbook.Sheets("Tabelle1").range("i2").Value = Format(Now, "DD.MM.YYYY_HH:MM:SS")
                range("g2:i2").Font.Bold = True
                range("g2:i2").Interior.ColorIndex = 3
            Else
                MsgBox "Warum brichst Du ab?"
        End If
    End If
End If
 
End Sub
 
Wie geschrieben, bin ich VBA-Anfänger von dem her könnte das Makro vermutlich besser oder anders dargestellt werden :-) . Wer kann mir helfen?
Besten Dank für Eure Hilfe.
 
Daniel
 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Datum in InputBox
02.02.2017 19:33:50 BlackJack66
NotSolved
02.02.2017 19:55:51 Crazy Tom
NotSolved
03.02.2017 08:16:30 BlackJack66
NotSolved
03.02.2017 07:08:40 GraFri
NotSolved
03.02.2017 08:26:41 BlackJack66
NotSolved
03.02.2017 10:58:32 Gast70117
NotSolved
03.02.2017 13:40:21 BlackJack66
NotSolved
03.02.2017 15:50:24 SJ
NotSolved
03.02.2017 17:21:27 Gast10567
NotSolved
04.02.2017 12:33:51 SJ
NotSolved
04.02.2017 09:02:31 Gast70117
NotSolved
04.02.2017 20:30:12 GraGri
Solved
14.02.2017 08:06:07 BlackJack66
NotSolved