Problem mit Datumsformat
30.04.2014 09:53:27
Dauergast
ich hätte folgende Frage: Ich gebe über eine Eingabemaske ein Eintrittsdatum ein, welches in der Excel Tabelle auch angezeigt wird! Dieses Datum wird auch im Datumsformat angezeigt, doch wenn man das Datum dann in Standardformat umwandelt, erscheint wiederum das Datum und keine Dezimalzahl. Im Folgenden habe ich euch den Code angehängt. Das Einstiegdatum spiegelt dabei TextBox 13 bzw. Spalte 14 wieder:
Option Explicit
Option Compare Text
Const IndexHelp& = 83 'Hilfsspalte Stammdaten
Private Sub CommandButton1_Click()
'Button neuer Eintrag
ClearFields
ListBox1.ListIndex = -1 'neue Zeile wird ausgewählt
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
'Button Eintrag löschen
Dim lIndex As Long
If ListBox1.ListIndex = -1 Then Exit Sub
' lIndex = ListBox1.ListIndex
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
Tabelle1.Rows(ListBox1.Column(1)).Delete
ListBox1.RemoveItem ListBox1.ListIndex
End Sub
Private Sub CommandButton3_Click()
'Button Eintrag speichern
Dim lZeile As Long, lIndex As Long
If ListBox1.ListIndex = -1 Then
lZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Wenn kein Datensatz in der ListBox markiert wurde, wird Speicherroutine beendet
Else
lZeile = ListBox1.Column(1) 'Wenn Datensatz vorhanden, wird Speicherroutine durchgeführt
End If
lIndex = ListBox1.ListIndex
If Trim(TextBox1.Text) = "" Then
Exit Sub
Else
With Tabelle1
.Cells(lZeile, 1).Value = Trim(TextBox1.Text)
.Cells(lZeile, 2).Value = TextBox2.Text
.Cells(lZeile, 3).Value = TextBox3.Text
.Cells(lZeile, 4).Value = TextBox4.Text
.Cells(lZeile, 5).Value = TextBox5.Text
.Cells(lZeile, 6).Value = TextBox6.Text
.Cells(lZeile, 7).Value = TextBox7.Text
.Cells(lZeile, 8).Value = TextBox8.Text
.Cells(lZeile, 9).Value = TextBox9.Text
.Cells(lZeile, 10).Value = TextBox10.Text
.Cells(lZeile, 11).Value = TextBox11.Text
.Cells(lZeile, 12).Value = TextBox12.Text
.Cells(lZeile, 14).Value = TextBox13.Text
.Cells(lZeile, 15).Value = TextBox14.Text
.Cells(lZeile, 16).Value = TextBox15.Text
.Cells(lZeile, 21).Value = TextBox16.Text
.Cells(lZeile, 26).Value = TextBox17.Text
.Cells(lZeile, 30).Value = TextBox18.Text
.Cells(lZeile, 34).Value = TextBox19.Text
.Cells(lZeile, 38).Value = TextBox20.Text
.Cells(lZeile, 39).Value = TextBox21.Text
.Cells(lZeile, 40).Value = TextBox22.Text
.Cells(lZeile, 41).Value = TextBox23.Text
.Cells(lZeile, 44).Value = TextBox24.Text
.Cells(lZeile, 45).Value = TextBox25.Text
.Cells(lZeile, 59).Value = TextBox26.Text
.Cells(lZeile, 60).Value = TextBox27.Text
.Cells(lZeile, 61).Value = TextBox28.Text
.Cells(lZeile, 70).Value = TextBox29.Text
.Cells(lZeile, IndexHelp).Value = "X"
'Textboxen in die Zellen schreiben
ListBox1.AddItem Trim(TextBox1.Text)
ListBox1.List(ListBox1.ListCount - 1, 1) = lZeile
End With
End If
End Sub
Private Sub CommandButton4_Click()
'Button Beenden
Unload Me
End Sub
Private Sub ListBox1_Click()
'ListBox Funktionsweise
Dim lZeile As Long
'Wenn der Benutzer einen Namen anklickt, wird dieser herausgesucht und die Daten werden in _
die Textboxen eingetragen
ClearFields
If ListBox1.ListIndex > -1 Then
lZeile = ListBox1.Column(1)
With Tabelle1
TextBox1 = Trim(.Cells(lZeile, 1).Value)
TextBox2 = .Cells(lZeile, 2).Value
TextBox3 = .Cells(lZeile, 3).Value
TextBox4 = .Cells(lZeile, 4).Value
TextBox5 = .Cells(lZeile, 5).Value
TextBox6 = .Cells(lZeile, 6).Value
TextBox7 = .Cells(lZeile, 7).Value
TextBox8 = .Cells(lZeile, 8).Value
TextBox9 = .Cells(lZeile, 9).Value
TextBox10 = .Cells(lZeile, 10).Value
TextBox11 = .Cells(lZeile, 11).Value
TextBox12 = .Cells(lZeile, 12).Value
TextBox13 = .Cells(lZeile, 14).Value
TextBox14 = .Cells(lZeile, 15).Value
TextBox15 = .Cells(lZeile, 16).Value
TextBox16 = .Cells(lZeile, 21).Value
TextBox17 = .Cells(lZeile, 26).Value
TextBox18 = .Cells(lZeile, 30).Value
TextBox19 = .Cells(lZeile, 34).Value
TextBox20 = .Cells(lZeile, 38).Value
TextBox21 = .Cells(lZeile, 39).Value
TextBox22 = .Cells(lZeile, 40).Value
TextBox23 = .Cells(lZeile, 41).Value
TextBox24 = .Cells(lZeile, 44).Value
TextBox25 = .Cells(lZeile, 45).Value
TextBox26 = .Cells(lZeile, 59).Value
TextBox27 = .Cells(lZeile, 60).Value
TextBox28 = .Cells(lZeile, 61).Value
TextBox29 = .Cells(lZeile, 70).Value
'Textboxen füllen
End With
End If
End Sub
Private Sub TextBox13_Change()
End Sub
Private Sub TextBox14_Change()
End Sub
Private Sub UserForm_Initialize()
'UserForm Funktionsweise
Dim lZeile As Long, arrList, NewAR(), nRow&
ClearFields 'Alle Textboxen leeren
With Tabelle1
With .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
arrList = .Resize(, IndexHelp)
nRow = Evaluate("=CountIF(" & .Offset(, IndexHelp - 1).Address(External:=True) & ",""X"" _
)")
If nRow > 0 Then
ReDim Preserve NewAR(1 To nRow, 1 To 2)
End If
End With
End With
If nRow > 0 Then
nRow = 0
For lZeile = 1 To UBound(arrList)
If arrList(lZeile, IndexHelp) = "X" Then
nRow = nRow + 1
NewAR(nRow, 1) = arrList(lZeile, 1)
NewAR(nRow, 2) = lZeile + 1 'Start in Zeile 2, da in Zeile 1 Überschriften
End If
Next
ListBox1.List = NewAR
End If
'alle vorhandenen Einträge werden in die Listbox geladen
End Sub
Private Sub ClearFields()
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
TextBox12 = ""
TextBox13 = ""
TextBox14 = ""
TextBox15 = ""
TextBox16 = ""
TextBox17 = ""
TextBox18 = ""
TextBox19 = ""
TextBox20 = ""
TextBox21 = ""
TextBox22 = ""
TextBox23 = ""
TextBox24 = ""
TextBox25 = ""
TextBox26 = ""
TextBox27 = ""
TextBox28 = ""
TextBox29 = ""
End Sub