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

Prob. mit Monatseingabe in TextBox

Prob. mit Monatseingabe in TextBox
21.12.2003 17:40:05
Benny
Hallo Excels,

ich möchte mittels UserForm den Monat und das Jahr in eine Tabelle eintragen.
Als Tagesdatum soll immer 01 erscheinen. Soweit Ok, das klapptt.

Das Eingabeformat beträgt max 4 Zahlen (MMJJ).

Wie kann ich es nun aber anstellen, das nur Zahlen zwischen 1-12 für den Monat und Jahreszahl ab 03 (für 2003) akzeptiert werden?

Kann jemand weiterhelfen, oder den Code meines Bruder entsprechend modifizieren (bin leider noch VBA-Laie)?


Private Sub DispoMonat_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9]" Then Call DatumErlaubt: KeyAscii = 0
End Sub


Private Sub DispoMonat_AfterUpdate()
DispoMonat.Value = Format(DispoMonat.Value, "01\.#0\.00")
End Sub


Private Sub DispoMonat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If DispoMonat > 0 Then Exit Sub
If DispoMonat = 0 Then FehltWas: DispoMonat = " "
Cancel = True
End Sub


Private Sub CommandButton1_Click()
With ANGABEN_MONAT
If .DispoMonat.Value = "" Or DispoMonat.Value = 0 Then Call FehltWas: .DispoMonat.SetFocus: Exit Sub
DispoMonat = Format(DispoMonat, "01\.#0\.00")
Worksheets("DISPO").Cells(47, 4).Value = CDate(DispoMonat.Value)
End With
Unload Me
Call Daten_Übernommen
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub


Vielen Dank vorab!

Gruss Benny

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prob. mit Monatseingabe in TextBox
21.12.2003 20:58:36
Josef Ehrensberger
Hallo Benny,

versuch mal diesen Code.



Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Eingabebeschränkung Datum vierstellig (MMJJ)
Select Case Len(TextBox1)
    Case 0
        Select Case KeyAscii
            Case 48 To 49  '0-1
            Case Else
            KeyAscii = 0
        End Select
    Case 1
        If Left(TextBox1, 1) = 1 Then
            Select Case KeyAscii
                Case 48 To 50 '0-2
                Case Else
                KeyAscii = 0
            End Select
        End If
        If Left(TextBox1, 1) = 0 Then
            Select Case KeyAscii
                Case 49 To 57 '0-9
                Case Else
                KeyAscii = 0
            End Select
        End If
    Case Is >= 4
        KeyAscii = 0
End Select
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5


Gruß Sepp
Anzeige
AW: Prob. mit Monatseingabe in TextBox
21.12.2003 22:16:39
Benny
Hallo Sepp,

leider klappt das nicht!

Ich kann alle Zahlen eingeben...
Zum Beispiel erscheint bei Eingabe 6666 August 1945.

Hast Du vielleicht noch eine`n anderen Lösungsvorschlag?

Gruss Benny
AW: Prob. mit Monatseingabe in TextBox
21.12.2003 22:24:32
Josef Ehrensberger
Hallo Benny,

also wenn Du von einer Textbox in einer UserForm
oder aus der Steuerelemente-Toolbox redest, dann
funktioniert der Code!
Hast Du den Namen der TextBox angepasst?

Gruß Sepp
AW: Prob. mit ... FUNKTIONIERT! DANKE!
21.12.2003 23:35:25
Benny
Hallo Sepp,

ein grosses SORRY!

Bin halt VBA-Laie und habe Deinen Code so kopiert und den Namen der TextBox natürlich nicht geändert...

Bin halt ein Schussel :-)

Du hast recht, der Code funktioniert mit dem angepassten TextBox-Namen!!

Vielen Dank und noch einen schönen "Rest-4- Advent".

Grus und nochmals Danke

Benny
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige