304 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Zusammen,

ich habe zwei Comboboxen welche die Aufgabe eines Zeitraums (Datum) erfüllen.

Diese werden aus Spalte D befüllt:

VON:
ComboBox3.List = Sheets("Reparatur DATABASE").Range("D2:D" & _
Sheets("Reparatur DATABASE").Range("D2").End(xlDown).Row).Value

BIS:
ComboBox4.List = Sheets("Reparatur DATABASE").Range("D2:D" & _
Sheets("Reparatur DATABASE").Range("D2").End(xlDown).Row).Value

Wie kriege ich es hin, das alle Zeilen die wischen diesen Datumsfeldern liegen ausgeblendet werden?

Wenn die Zeilen ausgeblendet sind, sollten die Werte des Datums aber trotzdem in den Comboboxen ersichtlich sein..

Besten Dank vorab und Grüße

Henry

1 Antwort

0 Punkte
Beantwortet von
Hallo Henry,

keine Ahnung, ob ich dich richtig verstehe. Du willst also den gewählten Zeitraum ausblenden, richtig? Sind denn die Datumswerte aufsteigend sortiert und kommen jeweils nur einmal vor? Dann probier' mal diesen Code:

[code]Private Sub Combobox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  On Error Resume Next
  If KeyCode = vbKeyReturn Then Combobox3.Value = CDate(Combobox3.Value)
End Sub
Private Sub Combobox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  On Error Resume Next
  If KeyCode = vbKeyReturn Then Combobox4.Value = CDate(Combobox4.Value)
End Sub

Private Sub Combobox3_Change()
  Ausblenden
End Sub
Private Sub Combobox4_Change()
  Ausblenden
End Sub

Sub Ausblenden()
  Dim Start As Range, Ende As Range
  With Sheets("Reparatur DATABASE").Range("D2:D" & Sheets("Reparatur DATABASE").Range("D2").End(xlDown).Row)
    .EntireRow.Hidden = False
    If IsDate(Combobox3.Value) And IsDate(Combobox4.Value) Then
      Set Start = .Find(CDate(Combobox3.Value))
       Set Ende = .Find(CDate(Combobox4.Value))
      If Not Start Is Nothing And Not Ende Is Nothing Then
        .Range(Start, Ende).Offset(1 - .Row, -1).EntireRow.Hidden = True
      End If
    End If
  End With
End Sub
[/code]

Füge den Code dort zusätzlich ein, wo auch schon dein Code für das Befüllen der Comboboxen liegt. Also entweder im Userform oder im Tabellenmodul.

Sollte das bei dir noch nicht wie gewünscht klappen, erzähl mal bitte noch ein wenig zu deinem Tabellenaufbau.

Gruß Mr. K.

PS: Die ersten beiden Subs, sorgen dafür, dass du das Datum auch manuell und z.B. ohne führende Nullen eingeben darfst.
...