Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 13

Forumthread: Laufzeitfehler 13

Laufzeitfehler 13
16.02.2007 18:36:00
kiron
Hallo!
Ich bin ganz neu in der VBA Programmierung und stehe vor einem
für mich nicht ganz einfachen Problem.
Habe folgenden VBA Code
Code:

Private Sub txtEnde_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Start As Date
Dim Ende As Date
Dim Ergebnis As Date
Start = txtStart.Value
Ende = txtEnde.Value
If Start = "" Or Ende = "" Then
txtDifferenz.Enabled = True
Ergebnis = txtDifferenz.Text
End If
Ergebnis = Ende - Start
txtDifferenz.Value = Ergebnis
End Sub

Ich möchte folgendes machen.
In die Textbox Start eine Uhrzeit eingeben z.B. 15:00 und in die
Textbox Ende 16:07. beim Verlassen der Textbox Ende wird
autromatisch die Differnz berechnen und in die textbox Differnz
geschrieben.
Beim Starten der Form wird die Enabled Eigenschaft der Textbox
Differenz auf false gesetzt.
Jetzt kann es vorkommen das keine Startzeit oder keine Endzeit
eingegeben wird, dann muss die Differnz von Hand eingegeben werden können und dafür wird das textfeld Differenz wieder Aktiviert.
Fuktioniert auch soweit solange immer eine Start und eine Endzeit angegeben wird.
Wenn ich die Startzeit oder die Endzeit nicht eingebe dann bekomme ich
einen Laufzeitfehler mit der Nummer 13 Typen unverträglich.
Kann mir da bitte jemand ein bischen weiterhelfen.
Vielen dank schon im voraus für jede Hilfe.
gruss
kiron
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13
16.02.2007 20:21:00
Anton
Hallo kiron,
so vllt:

Private Sub txtDifferenz_Exit(ByVal Cancel As MSForms.ReturnBoolean)      
  Dim Ergebnis As Date  
  If IsDate(txtDifferenz.Value) Then  
    Ergebnis = txtDifferenz.Text
  Else
    txtDifferenz.SetFocus
  End If  
End Sub  
Private Sub txtEnde_Exit(ByVal Cancel As MSForms.ReturnBoolean)        
  Dim Start As Date  
  Dim Ende As Date    
  Dim Ergebnis As Date  
  On Error Resume Next    
  If IsDate(txtSTART.Value) And IsDate(txtEnde.Value) Then    
    Start = txtSTART.Value
    Ende = txtEnde.Value
    Ergebnis = Ende - Start
    txtDifferenz.Value = Ergebnis
  Else
    txtDifferenz.Enabled = True
    txtDifferenz.SetFocus
  End If  
End Sub  

mfg Anton
Anzeige
AW: Laufzeitfehler 13
16.02.2007 22:11:00
kiron
Hallo Anton!
Vielen dank, so funktionierts genau wie ich wollte.
gruss
kiron
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige