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

Datum von bis in Listbox

Datum von bis in Listbox
bis
Hallo Excelprofis,
ich würde gern in userform1, aus Tabelle2, SpalteA, die Einträge= Datum von z.B. 02.4.2007 bis 10.09.2010
mit 5 Spalten in eine Listbox1 einlesen. Dazu müsste das Datum von bis gesucht und eingegeben werden können und dann per Buttonclick, oder Combobox?, Inputbox? In die Listbox geschrieben werden, ist das irgendwie möglich?
Vielen Dank im vorraus.
Ingo
AW: Datum von bis in Listbox
17.12.2011 08:51:08
bis
Hallo Ingo,
benutze Additem.

AW: Datum von bis in Listbox
17.12.2011 10:05:14
bis
Guten Morgen Hajo,
Ich habe folgenden Versuch gestartet, der auch funktioniert. Allerdings werden alle Datumseingaben angezeigt und ich kann dann jeweils ein Datum.z.B. 04.04.2008 in Listbox einlesen. Mir würde es aber sehr helfen, wenn ich ein Datum von - bis eingeben könnte. Es kann auch vorkommen, dass 04.04.2008 etwa 10 mal untereinander steht, dann werden diese Daten schon eingelesen. aber nicht 04.04.2008 bis 10.10.2009.
Weißt Du was ?
Gruß Ingo
Private Sub ComboBox1_Change() 'Datum
Dim K As Long
Dim N As Long
Dim Suche As String
Dim Btrgsoll As Double
Suche = ComboBox1.List(ComboBox1.ListIndex, 0)
With Worksheets("Tabelle2")
ListBox1.Clear
For K = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Suche = .Cells(K, 1).Value Then
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(K, 1).Value
ListBox1.List(N, 1) = .Cells(K, 2).Value
ListBox1.List(N, 2) = .Cells(K, 3).Value
ListBox1.List(N, 3) = .Cells(K, 4).Value
ListBox1.List(N, 4) = .Cells(K, 5).Value
ListBox1.List(N, 5) = Format(.Cells(K, 6).Value, "##0.00 €")
ListBox1.List(N, 6) = K
Btrgsoll = Format(Btrgsoll + .Cells(K, 6).Value, "##0.00 €")
End If
Next
TextBox1.Value = Format(Btrgsoll + .Cells(K, 6).Value, "##0.00 €")
End With
End Sub

Anzeige
AW: Datum von bis in Listbox
17.12.2011 10:46:20
bis
Hallo Ingo,
woher kommt, wo stehen DatumVon u. DatumBis ?
Gruß Gerd
AW: Datum von bis in Listbox
17.12.2011 11:13:17
bis
Hallo Gerd L,
Tja, das ist mein Problem. Ich dachte man könnte von UF1 eine Inputbox aufrufen und dann Datum von bis eingeben und diese Auswahl sollte dann in LB1 erscheinen. Kriege ich aber nicht hin:-(.
Das Datum steht in Tabelle2 Spalte A, (Überschrift A1 Belegdatum)
Gruß
Ingo
benutze doch 2 Comboboxen für von: bis:
18.12.2011 11:04:40
Matthias
das könnte dann so aussehen:
Userbild
Gruß Matthias
AW: benutze doch 2 Comboboxen für von: bis:
18.12.2011 13:24:33
Ingo
das sieht schon so aus, wie ich mir das vorstelle. Allerdings komme ich noch nicht viel weiter.
Ich habe mehrere Comboboxen auf UF1. In CB1 habe ich u.a. Code. Wie müsste ich den ändern und was müsste dann in CB2 und in Buttonclick?
Private Sub ComboBox1_Change() 'Datum
Dim K As Long
Dim N As Long
Dim Suche As String
Dim Btrgsoll As Double
Suche = ComboBox1.List(ComboBox1.ListIndex, 0)
With Worksheets("Tabelle2")
ListBox1.Clear
For K = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Suche = .Cells(K, 1).Value Then
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(K, 1).Value
ListBox1.List(N, 2) = .Cells(K, 3).Value
ListBox1.List(N, 3) = .Cells(K, 4).Value
ListBox1.List(N, 4) = .Cells(K, 5).Value
ListBox1.List(N, 5) = Format(.Cells(K, 6).Value, "##0.00 €")
ListBox1.List(N, 6) = K
Btrgsoll = Format(Btrgsoll + .Cells(K, 6).Value, "##0.00 €")
End If
Next
TextBox1.Value = Format(Btrgsoll + .Cells(K, 6).Value, "##0.00 €")
End With
End Sub
LG Ingo
Anzeige
AW: Rückfrage
18.12.2011 14:16:35
Gerd
Hallo Ingo,
im Prinzip benötigtst Du zwei Kriterien zur Abgrenzung nach unten und nach oben.
Andere Frage: Sind die Datümer in Tabelle2 Spalte A aufsteigend sortiert bzw. kannst Du gewährleisten, dass dies so ist?
Gruß Gerd
AW: Rückfrage
18.12.2011 14:30:56
Ingo
Hallo Gerd,
danke, dass Du Dich nochmal meldest.
Die "Datümer" sind von klein nach groß sortiert.
Gruß
Ingo
noch eine Rückfrage!
18.12.2011 18:45:44
Matthias
Hallo zusammen
Userbild
Und die Liste in Tabelle2 ist definitiv aufsteigend sortiert und keine einzige Zelle im Datenbereich ist leer?
Dann kannst Du das so benutzen
https://www.herber.de/bbs/user/78035.xls

Gruß Matthias
Anzeige
DANKE ! DANKE ! DANKE!
18.12.2011 21:19:04
Ingo
Lieber Matthias,
Du hast mir seeehr mit dieser Tabelle geholfen. das hätte ich nie hinbekommen. Ich kann nur ahnen wieviel Arbeit du dir damit gemacht hast. Vielen vielen Dank. Auch an Gerd, der sich gekümmert hat.
Ich wünsche Euch ein frohes Weihnachtsfest.
LG
Ingo
hab noch mal etwas geändert ...
19.12.2011 05:26:19
Matthias
Hallo
kleine Anpassung, um die letzte Datenzelle in Tabelle2 zu ermitteln
Dadurch brauchst Du den Bereich nicht mehr anzupassen → das macht dann Excel für Dich ← ;o)
Private Sub CommandButton1_Click()
Dim C As Range, X&, N&, LastRow&
ListBox1.Clear 'Listboxeinträge löschen
StartDatum = ComboBox1 'Stardatum als String speichern
End__Datum = ComboBox2  'Enddatum als String speichern
On Error GoTo ErrExit
If CDate(StartDatum) LastRow = .Range("A2").End(xlDown).Row
'Startdatum ermitteln -> Zelladresse als String in Variable(StartDatum) schreiben
For Each C In .Range("A2:A" & LastRow)
If CDate(C) = StartDatum Then StartDatum = C.Address: Exit For
Next
'Enddatum ermitteln -> Zelladresse als String in Variable(End__Datum) schreiben
For Each C In .Range("A" & Range(StartDatum).Row & ":A" & LastRow)
If CDate(C) = End__Datum Then: End__Datum = C.Address: Exit For
Next
For X = Range(StartDatum).Row To Range(End__Datum).Row
Me.Caption = " b i t t e  w a r t e n . . ."
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(X, 1).Value
ListBox1.List(N, 1) = .Cells(X, 2).Value
ListBox1.List(N, 2) = .Cells(X, 3).Value
ListBox1.List(N, 3) = .Cells(X, 4).Value
Next
End With
Me.Caption = "Hallo Ingo, die Liste ist fertig ;o)"
Else
MsgBox "Startdatum muß kleiner Enddatum sein", vbInformation, "keine Aktion"
End If
Exit Sub
ErrExit:
MsgBox "beide Eingaben müssen ein gültiges und vorhandenes Datum sein!", vbCritical, "Abbruch"
End Sub
Gruß Matthias
Anzeige
Nochmal Dankeschön!
19.12.2011 20:14:26
Ingo
Lieber Matthias ,
ich habe den code in meine Tabelle eingebaut und - LÄUFT SUUPER!!!
Die Tabelle ist mit über 30.000 Zeilen gefüllt und jetzt ist es eine Freude, wie schnell man alles findet.
Eine Bitte hätte ich aber noch :-(
Ich drucke die Listboxdaten aus, allerdings erscheinen dann nur die "nackten" Daten, also ohne Überschrift und Formatierung. Ich würde die Daten gern in eine Tabelle "Druck" schreiben und dann ausdrucken. Da könnte ich dann Überschriften und sonstiges vorher in Zellen schreiben und die Listboxdaten dann ab Zeile A3 einfügen. Wäre das möglich?
Vielen Dank
Ingo
Anzeige
AW: Leg den Druckbereich fest, die Daten hast Du ja ..
21.12.2011 21:45:56
Ingo
Hallo Matthias,
Leider kann ich deinen Einsatz nicht irgendwie "GUTMACHEN".Aber ich möchte mich ganz ganz herzlich bedanken. Es funktioniert bestens.
Liebe Grüße
Ingo
ist schon ok :o) na denn frohes Fest (kwT)
22.12.2011 06:03:49
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige