Anzeige
Archiv - Navigation
1108to1112
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
Inhaltsverzeichnis

userform textfeld kalender!

userform textfeld kalender!
lisa
Hallo zusammen
Ich habe in meiner Userform ein Textfeld über das ich gern ein Kalender aktivieren will!
Mit einer celle sähe das ganze so aus!
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = ("$C$1") Then
usr1.Show
End If
End Sub
hier ist natürlich der Kalender in der Userform1 eingebettet!
Wie nun aber das in der Userform zu realisieren ist weiß ich nicht, könnt ihr mir hier helfen?
Gruß Lisa

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

Betreff
Benutzer
Anzeige
AW: userform textfeld kalender!
15.10.2009 15:10:42
fcs
Hallo Lisa,
du kannst das Enter-Ereignis der Textbox zur Anzeige des Kalender-UF benutzen.
Nach dem Schließen des Kalender-UF wird dann das gewählte Datum z.B. in die Textbox eingetragen.
Für den Kalender wird dabei das Steuerelement "Microsoft Date and Time Picker Control" benutzt.
Gruß
Franz
Beispiel-Datei: https://www.herber.de/bbs/user/65108.xls
AW: userform textfeld kalender!
15.10.2009 18:29:18
lisa
Hallo
Danke für die schnelle Antwort!
Als Change Ereignis im Tabellenblatt funktioniet der Kalender
aus der Userform wird aber kein Adtum übernommen.?
Ich habe da gleich noch eine Frage.
Ich übergebe aus dem Textfeld einer Userform eigentlich einen Txt. Was muss ich aber machen, wenn ich einen Wert übergen will? Ich kann wohl eine Zahl eingeben, aber diese wird als Txt dargestellt. Kann ich das mit einem Textfeld machen oder muss ich dafür etwas anderes verwenden? Oder wie kann ich der Textfeld mitteilen das es eine Zahl im Format 0,00 ist?
Hierzu mein Code.
Private Sub CommandButton1_Click()
z = 1
Do While Cells(z, 1)  ""
z = z + 1
Loop
Cells(z, 2) = Calendar1.Value
Cells(z, 5) = Me.TextBox3
Unload Me
End Sub
HAt hier jemand eine Idee?
Ich wollte nicht extra einen neuen Thread aufmachen. Ich hoffe ihr nehmd mir das nicht übel.
Anzeige
AW: userform textfeld kalender!
15.10.2009 20:26:26
F1
Gibt Fehler, wenn in der Textbox kein numerischer Wert steht:
Cells(z, 5) = CDbl(TextBox3)
Cells(z, 5).NumberFormat = "0.00"
F1
AW: userform textfeld kalender!
16.10.2009 07:51:03
fcs
Hallo Lisa,
bei Zahlen- oder Datumswerten in Textboxen müssen diese Textwerte vor dem Eintragen in Zellen umgewandelt werden. Die Zelle fprmatierst du im gewünschten Format.
Den Textboxen kannst du kein Format mitgeben, du kannst "nur" die Eingabe in der Textbox-Exit-Ereignisprozedur auf Fehler prüfen.
Gruß
Franz
Beispiel für Umwandlung der Textboxinhalte in Zelleinträge.
Private Sub CommandButton1_Click()
Dim z As Long
Dim wks As Worksheet
Set wks = ActiveSheet
z = 1
Do While Cells(z, 1)  ""
z = z + 1
Loop
'wks.Cells(z, 2) = Calendar1.Value
If fncDouble(Zelle:=wks.Cells(z, 5), Wert:=Me.TextBox3.Value, _
FeldName:="XYZ-Wert", OptionClear:=True) = False Then
GoTo Eingabe_korrigieren
End If
If fncDatum(Zelle:=wks.Cells(z, 3), Wert:=Me.TextBox4.Value, _
FeldName:="ABC-Wert", LeerZulaessig:=False) = False Then
GoTo Eingabe_korrigieren
End If
Unload Me
Eingabe_korrigieren:
End Sub
Function fncDouble(Zelle As Range, Wert As String, FeldName As String, _
Optional OptionClear As Boolean, _
Optional LeerZulaessig As Boolean = True) As Boolean
'Eintragen von Zahlenwerten aus Text-Steuerelementen in Tabelle
'OptionClear: bei True wird Zellinhalt ggf. gelöscht wenn Wert="", sonst _
als Wert 0 in die Zelle eingtragen
'LeerZulaessig: Wenn True, dann darf die Textbox leergelassen werden.
fncDouble = True
If Wert = "" And LeerZulaessig = True Then
If OptionClear = True Then
Zelle.ClearContents
Else
Zelle = 0
End If
ElseIf IsNumeric(Wert) Then
Zelle.Value = CDbl(Wert)
Else
MsgBox "Für """ & FeldName & """ muss eine Zahl eingegeben werden"
fncDouble = False
End If
End Function
Function fncDatum(Zelle As Range, Wert As String, FeldName As String, _
Optional LeerZulaessig As Boolean = True) As Boolean
'Eintragen von Datums-/Zeitwerten aus Text-Steuerelementen in Tabelle
'LeerZulaessig: Wenn True, dann darf die Textbox leergelassen werden.
fncDatum = True
If Wert = "" And LeerZulaessig = True Then
Zelle.ClearContents
ElseIf IsDate(Wert) Then
'CDate wandelt den Inhalt der Textbox in ähnlicher Form um , wie Eingaben _
in Tabellenzellen umgesetzt werden. In Grenzen sind also verkürtzte _
Datumseingaben zulässig.
Zelle = CDate(Wert) 'für Datum/Zeit
Else
MsgBox "Für """ & FeldName & """ muss ein gültiges Datum eingegeben werden"
fncDatum = False
End If
End Function

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige