Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1504to1508
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

Combox und Datum

Combox und Datum
13.07.2016 12:12:18
Kolke
Hallo zusammen,
ich habe eine Combobox1, welche aus einer Tabelle ein Datum auswählen läßt. Jetzt will ich über eine Combobox2 einen Zahlenwert (z. Bsp. 51) vom Wert der Combobox1 abziehen und im Textfeld1 als Datum (Combobox1 minus 51 = neues Datum für Textfeld1)anzeigen lassen. Später soll beim Verlassen das Datum aus Textbox1 in eine Tabelle wieder als Datum weggeschrieben werden. Ich bekomme es ums Verrecken nicht hin...
Soweit der Code-Ausschnitt (meine Fehlversuche habe ich bereits rausgelöscht).
Gruß Renato
Sub Combobox8_Click()
Dim i As Integer
Dim bRow As Double
TextBox59 = ""
bRow = Sheets("Admin").Cells(1048576, 22).End(xlUp).Row
For i = 2 To bRow
If Sheets("Admin").Cells(i + 1, 22) = Cells(ComboBox8.ListIndex + 2, 22) Then
TextBox59 = Sheets("Admin").Cells(i + 1, 23)
End If
Next i
TextBox59.Enabled = False
End Sub

Sub Combobox9_Click()
Dim i As Integer
Dim bRow, merk As Double
Dim Datum As Date
TextBox60 = ""
TextBox62 = ""
TextBox61 = ""
TextBox63 = ""
TextBox64 = ""
bRow = Sheets("Admin").Cells(1048576, 25).End(xlUp).Row
For i = 2 To bRow
If Sheets("Admin").Cells(i + 1, 25) = Cells(ComboBox9.ListIndex + 2, 25) Then
merk = Sheets("Admin").Cells(i + 1, 26)
End If
Next i
TextBox63.Enabled = False
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combox und Datum
13.07.2016 19:59:24
fcs
Hallo Kolke,
Probleme können auftreten, wenn:
  • die Datumswerte nicht in beiden Tabellenblttern als Exceldatums-Werte in den Zellen stehen sondern als Text in den Zellenstehen. Dann müssen die Textwerte vr dem Vergleichen mit der Funktion CDate umgewandelt werden.

  • Wenn deine Makros in einem Tabellenblatt-Code-Modul stehen. Dann besteht sich Cells(i + ,22) bzw. Cells(i, 25) immer auf auf Zellen in dem Tabellenblatt unter dem der Code steht. Hier ist es erforderlich das Tabellenblatt mit anzugeben in dem die Zellen sich befinden, z.B. ActiveSheet.

  • ansonsten musst du aufpassen, dass der Indexwert bei den Comboboxen mit 0 beginnt, wenn du den Indexwert verwendest, um Zelladressen anzusprechen.

  • Rechnen mit Inhalten von Textboxen.
    Damit dies reibungslos funktioniert muss der Inhalt der Textboxen mit entsprechenden Funktionen umgewandelt werden, so dass Datums- oder Zahlenwerten entstehen.
    With Textbox1
    If .Text "" Then
    'ggf. Msgbox, das Textbox1 noch nicht ausgefüllt ist
    ElseIf IsDate(.Value) then
    Textbox2.Value = Format(CDate(.Value) + 51, "DD.MM.YYYY")
    Else
    'ggf. Msgbox, das Textbox1 kein Datum enthält
    End If
    End With
    
    Wenn du Datumswerte aus einer Textbox in ein Tabellenblatt eintragen willst, dann ist ebenfalls eine Umwandlung ratsam, damit der Eintrag tatsächlich als Datumswert eingetragen wird.
    With Textbox2
    If .Text "" Then
    ActiveSheet.Cells(Zeile, Spalte).ClearContents
    ElseIf IsDate(.Value) then
    ActiveSheet.Cells(Zeile, Spalte).Value = CDate(.Value)
    Else
    ActiveSheet.Cells(Zeile, Spalte).Value = .Value
    End If
    End With
    
    Dabei ist zu beachten, dass CDate auch verkürzte Datums-Werte umwandelt. Aus Textboxinhalt 3.7 wird dann z.B. 3.7.2016, je nachdem wlche Systemeinstellung für das Datumsformat festgelegt sind.
    Gruß
    Franz

    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige