Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro Fehler ?

Makro Fehler ?
21.02.2007 22:12:00
Kurt
Guten Abend Allerseits,
habe mal über Forum und Hilfe meines Vaters (leider nicht da) dieses Makro zusammengestellt.

Private Sub TextBox17_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dteTmp As Date
If TextBox17 <> "mm-dd-yyyy" Then
On Error Resume Next
dteTmp = DateValue(TextBox17)
On Error GoTo 0
If dteTmp = 0 Then
Cancel = True
'  MsgBox "Das ist kein Datum!"
MsgBox " Nur Datums-Eingabe erlaubt!", _
vbCritical, "Error !!!"
TextBox17 = "mm-dd-yyyy"
TextBox17.SetFocus
With TextBox17
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Else
ActiveCell.Offset(0, 28) = Format(TextBox17.Text, "mm-dd-yyyy")
TextBox17.Text = ActiveCell.Offset(0, 28)
End If
End If
End Sub

Leider kann ich das Datum in der Textbox Nicht löschen, es kommt die Fehlermeldung (Hinweis) und dann
das Format: mm-dd-yyyy aber leider ist das Datum in der Zelle nicht gelöscht !
Was muß ich da ändern ?
Sonst klappt alles einwandfrei, nach der Eingabe wird das Datum Richtig als Datum auch angezeigt.
gruß Kurti

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Fehler ?
22.02.2007 09:48:00
Peter
hallo Kurti,
ich weiß zwar nicht was du genau machen möchtest, aber versuch es doch einmal so:


If TextBox17.Value <> "" Then
      If IsDate(TextBox17.Value) Then
         ActiveCell.Offset(0, 28) = Format(TextBox17.Text, "mm-dd-yyyy")
         TextBox17.Text = Format(ActiveCell.Offset(0, 28), "mm-dd-yyyy")
         TextBox17.Value = ""
       Else
         MsgBox "Nur die Eingabe eines Datums wird akzeptiert!", _
            48, "   Hinweis für " & Application.UserName
         With TextBox17
            .SetFocus
            .SelStart = 0
            .SelLength = Len(.Text)
         End With
      End If
    Else
      MsgBox "Bitte geben Sie ein gültiges Datums ein!", _
         48, "   Hinweis für " & Application.UserName
      TextBox17.SetFocus
   End If 


Warum du das, was du in die Zelle + 28 überträgst, wieder zurückholst, in die TextBox, erschließt sich mir nicht.
Ich habe dir deshalb das Löschen der TextBox eingefügt.
Gruß Peter
Anzeige
Erklärung
22.02.2007 11:21:00
KURT
Grüß Gott Peter,
geht noch nicht.
Wenn ich das Datum der Textbox8 (habe geändert) lösche und verlasse die Textbox8 per "TAB"
oder "ENTER" soll die Textbox8 LEER sein und die Zelle im aktiven Blatt ebenfalls, es sollte dabei Fehlermeldung kommen.
Wenn ich ein Datum eingebe, 2-2-07 soll dies erscheinen: 02.02.2007 KLAPPT auch!
Bei der Eingabe eines Buchstaben z.b.ee etc., soll eine Fehlermeldung kommen.
Kurti
Mein Makro, fehlt noch
22.02.2007 11:32:37
Walter
Guten Tag Peter,
hier mein Makro, habe etwas geändert, geht aber.
Was mir fehlt, wenn ich LÖSCHE kommt die Fehlermeldung und die nächste TextBox wird angesprochen.
Wie kann ich das ändern ?

Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'If TextBox8.Value <> "" Then
If IsDate(TextBox8.Value) Then
ActiveCell.Offset(0, 3) = Format(TextBox8.Text, "mm-dd-yyyy")
TextBox8.Text = ActiveCell.Offset(0, 3)
' ActiveCell.Offset(0, 28) = Format(TextBox8.Text, "mm-dd-yyyy")
' TextBox8.Text = Format(ActiveCell.Offset(0, 28), "mm-dd-yyyy")
Else
MsgBox "Nur die Eingabe eines Datums wird akzeptiert!", _
48, "   Hinweis für " & Application.UserName
TextBox8.Value = ""
ActiveCell.Offset(0, 3) = Format(TextBox8.Text, "mm-dd-yyyy")
TextBox8.SetFocus
With TextBox8
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
'End If
' Else
'  MsgBox "Bitte geben Sie ein gültiges Datums ein!", _
'      48, "   Hinweis für " & Application.UserName
End If
End Sub

gruß Kurti
Anzeige
AW: Mein Makro, fehlt noch
22.02.2007 12:13:20
Kurt
Hallo,
habe die Mail vom "Vaters PC", habe gerade Telefoniert, ist einverstanden, deshalb walter mb.
Kurti
AW: Mein Makro, fehlt noch
22.02.2007 13:02:07
Peter
Hallo Kurti,
was hälst du denn davon?

Private Sub TextBox8_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox8.Value <> "" Then
If IsDate(TextBox8.Value) Then
ActiveCell.Offset(0, 28) = Format(TextBox8.Text, "mm-dd-yyyy")
' TextBox8.Text = Format(ActiveCell.Offset(0, 28), "mm-dd-yyyy") ' ?
TextBox8.Value = ""
Else
MsgBox "Nur die Eingabe eines Datums wird akzeptiert!", _
48, "   Hinweis für " & Application.UserName
With TextBox8
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
Else
MsgBox "Bitte geben Sie ein gültiges Datums ein!", _
48, "   Hinweis für " & Application.UserName
TextBox8.SetFocus
End If
End Sub

Gruß Peter
Anzeige
UF blendet ...
22.02.2007 16:01:45
KURT
Guten Tag Peter,
habe reinkopiert, sobald ich TAB betätige, wird die UserForm geschlossen.
Kurti
AW: UF blendet ...
22.02.2007 16:46:00
Peter
Hallo Kurt,
aber nicht durch mein Makro!
Gruß Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige