22.03.2019, 11:21
Hi Community,
immer wieder hakt es bei mir in Sachen VBA was die Formatierungen etc angeht.
Ich möchte gerne in eine intelligente Tabelle Eintragungen aus einer Userform machen. Leider schaffe ich es nicht, dass er die Daten in dem Format "Datum" als "DD.MM.YYYY" einträgt. Er wählt immer Standard, sodass die in der Nachbarzelle eingefügte Formel damit nicht weiterrechnen möchte (Abfrage, ob ein Datum zwischen den zwei Datumsangaben liegt). Ich habe schon versucht, die Spalte als Ganzes in dem Format "Datum" zu Formatieren - beim Hinzufügen einer neuen Zeile mit der Userform wird aber nur "Standard" eingetragen.
Ich würde gerne eine Beispieldatei hochladen, die Original enthält jedoch sehr viel Code und ist gespickt mit vielen personenbezogenen Daten. Bis ich das nachgebaut habe, vergehen Tage. Ich versuche es deshalb erstmal so und würde mich über Hilfe sehr freuen:
Folgenden Code nutze ich als Beispiel in der Userform bei der Eingabe der Daten in die Userform:
Zum Eintragen in das Tabellenblatt wird dann dieser Code verwendet:
Die beiden Txt_abwesend und Txt_anwesend-Werte sollen als Datum dargestellt und deklariert werden.
Gruß Tim
immer wieder hakt es bei mir in Sachen VBA was die Formatierungen etc angeht.
Ich möchte gerne in eine intelligente Tabelle Eintragungen aus einer Userform machen. Leider schaffe ich es nicht, dass er die Daten in dem Format "Datum" als "DD.MM.YYYY" einträgt. Er wählt immer Standard, sodass die in der Nachbarzelle eingefügte Formel damit nicht weiterrechnen möchte (Abfrage, ob ein Datum zwischen den zwei Datumsangaben liegt). Ich habe schon versucht, die Spalte als Ganzes in dem Format "Datum" zu Formatieren - beim Hinzufügen einer neuen Zeile mit der Userform wird aber nur "Standard" eingetragen.
Ich würde gerne eine Beispieldatei hochladen, die Original enthält jedoch sehr viel Code und ist gespickt mit vielen personenbezogenen Daten. Bis ich das nachgebaut habe, vergehen Tage. Ich versuche es deshalb erstmal so und würde mich über Hilfe sehr freuen:
Folgenden Code nutze ich als Beispiel in der Userform bei der Eingabe der Daten in die Userform:
Code:
Private Sub Txt_anwesend_Beginn_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Prüft, ob im Feld ein Datum geschrieben wurde bzw. wandelt es dann um
If Txt_anwesend_Beginn.Value <> "" Then
If IsDate(Txt_anwesend_Beginn.Text) Then
Txt_anwesend_Beginn.Text = Format(Txt_anwesend_Beginn.Text, "DD.MM.YYYY")
Else
MsgBox "Bitte gültiges Datum eingeben", vbOKOnly & vbExclamation, "Ungültige Eingabe"
Txt_anwesend_Beginn.Value = ""
Cancel = True
End If
End If
End Sub
Zum Eintragen in das Tabellenblatt wird dann dieser Code verwendet:
Code:
Private Sub Cmd_Uebernehmen_Click()
Dim letzte_zeile As Integer
letzte_zeile = ThisWorkbook.Sheets("Mitarbeiter").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Eintragungen in die Tabelle vornehmen
Application.CellDragAndDrop = True
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 1) = Combo_Zugehoerigkeit.Value
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 2) = Txt_Name.Value
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 6) = Txt_abwesend_Beginn.Value
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 7) = Txt_abwesend_Ende.Value
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 9) = Txt_anwesend_Beginn.Value
ThisWorkbook.Sheets("Mitarbeiter").Cells(letzte_zeile, 10) = Txt_anwesend_Ende.Value
Application.CellDragAndDrop = False
Unload Neuer_Mitarbeiter
End Sub
Die beiden Txt_abwesend und Txt_anwesend-Werte sollen als Datum dargestellt und deklariert werden.
Gruß Tim