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

Listbox fuellen

Listbox fuellen
01.07.2019 11:31:46
Peter
Hallo ihr Excelspezialisten,
ich habe in UF eine Listbox2 und zwei Textboxes: TextBox4 und TextBox5.
In TextBox4 wird das laufende Jahr aufgelistet und in TextBox5 das folgende Jahr (z.B.: TextBox4 = 2019 und TextBox5 = 2020).
In der TextBox2 wird der erste Tag des gewählten Datum-Bereichs angezeigt: = 01.08.2019
und in der TextBox3 wird der letzte Tag des gewählten Datum-Bereichs angezeigt: = 31.07.2020.
In der Listbox2 werden alle Datumwerte von 01.01.2001 bis 01.12.2101 = Spalte K und in Spalte L werden alle Datumwerte von 31.01.2001 bis 31.12.2101 angezeigt.
Mein Ziel ist es, dass in der ListBox2 nur die Werte angezeigt werden, die den Datum-Werten der Textboxen entsprechen.
Wenn z. B. als Beginn in TextBox2 der Wert 01.08.2019 steht und in TextBox3 der Wert 31.07.2020, dann sollen in der ListBox2 die Werte der Monate 8 bis 12 aus 2019 und 1 bis 7 aus 2020 aufgelistet sein.
Könnt ihr mir bitte bei der Lösung dieses Problems helfen. Besten Dank.
Gruss
Peter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox fuellen
01.07.2019 12:50:00
Rudi
Hallo,
Schema:
  Dim vARR(), d As Date, n As Long
ReDim vARR(1 To CDate(TextBox3) - CDate(TextBox2) + 1)
For d = CDate(TextBox2) To CDate(TextBox3)
n = n + 1
vARR(n) = Format(d, "DD.MM.YYYY")
Next d
ListBox2.List = vARR

Gruß
Rudi
AW: Listbox fuellen
01.07.2019 13:12:28
Peter
Hallo Rudi,
Besten Dank für Deine Hilfe.
Ddas ist ein tolle Sache, was Du mir hier geschickt hast. Aber leider nicht das, was ich konkret benötige.
Es kann auch durchaus sein, dass meine Beschreibung nicht ganz verständlich ist.
Nachstehend der Anfang der Daten in Tabelle Spalte K + L:
01.01.2001 31.01.2001
01.02.2001 28.02.2001
01.03.2001 31.03.2001
01.04.2001 30.04.2001
01.05.2001 31.05.2001
01.06.2001 30.06.2001
01.07.2001 31.07.2001
01.08.2001 31.08.2001
01.09.2001 30.09.2001
01.10.2001 31.10.2001
01.11.2001 30.11.2001
01.12.2001 31.12.2001
01.01.2002 31.01.2002
01.02.2002 28.02.2002
01.03.2002 31.03.2002
01.04.2002 30.04.2002
01.05.2002 31.05.2002
01.06.2002 30.06.2002
01.07.2002 31.07.2002
01.08.2002 31.08.2002
01.09.2002 30.09.2002
01.10.2002 31.10.2002
01.11.2002 30.11.2002
01.12.2002 31.12.2002
Diese Tabelle ist fortlaufend bis in Jahr 2101.
Wenn nun in der TextBox2 das Datum 01.01.2002 und in TextBox3 das Datum 31.12.2002 steht, dann soll in der Listbox nachstehendes erscheinen:
Spalte 1 = K Spalte 2 = L
01.01.2002 31.01.2002
01.02.2002 28.02.2002
01.03.2002 31.03.2002
01.04.2002 30.04.2002
01.05.2002 31.05.2002
01.06.2002 30.06.2002
01.07.2002 31.07.2002
01.08.2002 31.08.2002
01.09.2002 30.09.2002
01.10.2002 31.10.2002
01.11.2002 30.11.2002
01.12.2002 31.12.2002
Dies auf der Basis der vorhandenen Tabelle.
Besten Dank
Gruss
Peter
Anzeige
AW: Listbox fuellen
01.07.2019 13:20:36
Rudi
Hallo,
wenn Textbox2 und Textbox3 in den Spalten auf jeden Fall vorkommen:
Sub aaaa()
Dim R1 As Long, R2 As Long
R1 = Application.Match(CDate(TextBox2), .Columns(11), 0)
R2 = Application.Match(CDate(TextBox3), .Columns(12), 0)
ListBox2.List = Range(Cells(R1, 11), Cells(R2, 12)).Value
End Sub

AW: Listbox fuellen
01.07.2019 13:26:50
Peter
Hallo Rudi,
nochmals besten Dank. Ich erhalte jedoch bezüglich der TextBox2 die Fehlermeldung:
Fehler beim Kompilieren: Unzulässiger oder nicht ausreichend definierter Verweis
Was soll ich bitte machen?
Gruss
Peter
AW: Listbox fuellen-welche?
01.07.2019 15:15:24
robert
....und zwei Textboxes: TextBox4 und TextBox5.
was nun? TB2,TB3 oder TB4 und TB5 ?
Anzeige
AW: Listbox fuellen
01.07.2019 15:17:05
Peter
Hallo Robert,
Listbox2 wie im ersten Beitrag beschrieben.
Gruss
Peter
AW: Listbox fuellen
01.07.2019 16:03:05
Peter
Hallo Rudi,
ich habe Deine Daten mit denen einer anderen Fundstelle kombiniert.
Die erste Datum-Variante funktioniert:
Private Sub CommandButton5_Click()
Dim ADatum As Date
Dim EDatum As Date
Dim iColumnA As Variant
Dim iColumnE As Variant
ListBox2.Clear
ADatum = TextBox2 '"01.01.2002"
EDatum = TextBox3 '"31.12.2002"
With Sheets("Hiffstabelle_SchulKalenderjahr")
iColumnA = Application.Match(CLng(ADatum), .Range("K1:K1000"), 1)
If Not IsError(iColumnA) Then MsgBox iColumnA
iColumnE = Application.Match(CLng(EDatum), .Range("L1:L1000"), 1)
If Not IsError(iColumnE) Then MsgBox iColumnE
ListBox2.ColumnCount = 2
ListBox2.List = Range(Cells(iColumnA, 11), Cells(iColumnE, 12)).Value
End With
End Sub

Private Sub UserForm_Initialize()
TextBox2 = CDate("01.01.2002")
TextBox3 = CDate("31.12.2002")
End Sub
Sobald ich jedoch das Datum in UserForm_Initialize ändere z.B. auf 2003 oder 2001 dann wird die falsche Zeile angezeigt bzw. andere Fehlermeldung.
Kannst Du mir bitte helfen.
Gruss
Peter
Anzeige
AW: Listbox fuellen - gelöst
02.07.2019 09:03:37
Peter
Hallo Rudi,
nochmals besten Dank für Deine Hilfe.
Der eigentliche Fehler lag in meiner Tabelle, da dort die Datumwerte nicht stimmten. Habe diese geändert.
Jetzt funktioniert es mit leichter Änderung von Deinem Vorschlag wie folgt:
Dim ADatum As Date, EDatum As Date
Dim R1 As Long, R2 As Long
ADatum = TextBox2
EDatum = TextBox3
ListBox2.Clear
With Worksheets("Tabelle1")
R1 = Application.Match(CLng(ADatum), .Columns(17), 1)
R2 = Application.Match(CLng(EDatum), .Columns(18), 1)
ListBox2.ColumnCount = 2
ListBox2.List = Range(Cells(R1, 17), Cells(R2, 18)).Value
End With
Nochmals besten Dank für Deine Hilfe.
Gruss
Peter
Anzeige
AW: Listbox fuellen - gelöst
02.07.2019 23:30:36
Rudi
Hallo,
und um Fehler zu vermeiden:
ListBox2.List = .Range(.Cells(R1, 17), .Cells(R2, 18)).Value
Gruß
Rudi
AW: Listbox fuellen - gelöst
03.07.2019 09:33:34
Peter
Hallo Rudi,
nochmals besten Dank.
Gruss
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige