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

SpinButton und ListBox

SpinButton und ListBox
18.07.2018 06:26:21
Antonio
Hallo Gemeinde,
mit folgendem Code über einen SpinButton kann ich in ListBox auf und ab schrollen:
Private Sub SpinButton1_SpinDown()
If ListBox1.ListIndex > 0 Then
ListBox1.Selected(ListBox1.ListIndex - 1) = True
Else
ListBox1.Selected(ListBox1.ListCount - 1) = True
SpinButton1.Value = ListBox1.ListCount - 1
End If
ListBox2.ListIndex = ListBox1.ListIndex
ListBox3.ListIndex = ListBox1.ListIndex
ListBox6.ListIndex = ListBox1.ListIndex
End Sub
Private Sub SpinButton1_SpinUp()
If ListBox1.ListIndex + 1 
Im ListBox können max. 15 zeilen eingetragen werden, soweit so gut, der SpinButton macht seine Arbeit, aber manchmal sind weniger Einträge evtll. nur 5 und der SpinButton geht trotzdem bis zum Schluss als es wäre der ListBox voll.
Gibt es eine Möglichkeit das beim letzte Eintrag, ob 16 oder 3 oder 7 das der SpinButton von Vorne anfängt?
Vielen Dank in Voraus
Antonio

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SpinButton und ListBox
18.07.2018 08:15:24
Oberschlumpf
Hi Antonio,
hier, versuch mal
https://www.herber.de/bbs/user/122744.xlsm (vergiss die Spalten D:E + alles an Code, was mit Spalte E zu tun hat; das war für eine andere Frage)
Dein SpinDown/Up-Code macht genau, was er soll.
-SpinDown so lange, bis letzte Zeile in Listbox erreicht; dann wieder erste Zeile, egal, ob in Listbox 3,9,20 Einträge
-SpinUp so lange, bis erste Zeile in Listbox erreicht; dann wieder letzte Zeile, egal, ob in Listbox 3,9,20 Einträge
Der Fehler in deiner Datei muss an der Stelle sein, wo du festlegst, wieviel Zeilen in Listbox1 verfügbar sein sollen.
In meiner Datei wird Anzahl für Zeilen von Listbox mit dem Autofilter in Tabelle1 festgelegt.
In Listbox sind nur so viele Zeilen verfügbar, wie in Tabelle1 Zeilen sichtbar sind (abhängig vom Autofilter).
Hilfts?
Ciao
Thorsten
Anzeige
AW: SpinButton und ListBox
18.07.2018 09:35:40
Antonio
Hallo Thorsten, bin gerade wieder am Platz,
werde mir den Link anschauen
und dein Vorschlag bei mir im Code ansehen.
Danke
Antonio
AW: SpinButton und ListBox
18.07.2018 09:57:24
Antonio
Hallo Thorsten,
stimmt, es liegt an die Festlegung der Zeilen.
 With ws2
 For I = 12 To 101 Step 6
Set rngFind = ws2.Columns("A:A").Find(TextBox5.Value, lookat:=xlWhole)
ListBox1.AddItem .Cells(rngFind.Row, I)
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngFind.Row, I + 1)
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngFind.Row, I + 2)
ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(rngFind.Row, I + 3)
ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(rngFind.Row, I + 4)
ListBox1.List(ListBox1.ListCount - 1, 5) = .Cells(rngFind.Row, I + 5)
Next I
hier fett markiert.
Zu Erklärung:
in Tabelle1 sind Zeilen mit 90 Spalten und diese werden dann in ListBox geladen, nacheinander je nach Bedarf.
ListBox -> 6 column, 9o:6 sind 15 Zeilen,
Problem erkannt, DANKE,
Aber wenn nur 36 Spalte belegt sind wie kann ich den Code:
For I = 12 To 101 Step 6

ändern das es funzt.
Die Zeilen werden nach und nach in Tabelle1 eingefügt daher können verschidene Längen haben, so kommt ein Filter für mich nicht in Frage.
Thorsten Danke in Voraus
Antonio
Anzeige
AW: SpinButton und ListBox
18.07.2018 10:24:14
Oberschlumpf
Hi Antonio,
versuch es so:

With ws2
For I = 12 To 101 Step 6
Set rngFind = ws2.Columns("A:A").Find(TextBox5.Value, lookat:=xlWhole)
If .Cells(rngFind.Row, I)  "" Then
ListBox1.AddItem .Cells(rngFind.Row, I)
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngFind.Row, I + 1)
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngFind.Row, I + 2)
ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(rngFind.Row, I + 3)
ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(rngFind.Row, I + 4)
ListBox1.List(ListBox1.ListCount - 1, 5) = .Cells(rngFind.Row, I + 5)
End If
Next I

Hilfts?
Wenn nicht, zeig bitte per Upload eine Bsp-Datei mit Bsp-Daten + VBA-Code, so dass man in der Datei dein Problem nachvollziehen kann.
Ciao
Thorsten
Anzeige
AW: SpinButton und ListBox
18.07.2018 11:25:32
Antonio
Hi Thorsten,
PERFETTO.
Danke und LG
Antonio

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige