Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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
ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 15:39:02
Hase
Hallo Zusammen,
hoffentlich könnt ihr mir helfen. In meiner UserForm ist eine Listbox, die die Namen der aktuellen Tabellenblätter einliest. Anschließend soll der Benutzer die Blätter auswählen, die er gerne ansehen möchte. Der Code funktioniert soweit, aber die es werden die falschen Blätter angezeigt. Sprich, wählt der User Blatt 2 und 3 aus, werden Blatt 1 und 2 angezeigt.
Könnte ihr den Fehler finden?

Dim lngIndex As Long
With ListBox1
For lngIndex = 0 To .ListCount - 1
If .Selected(lngIndex) Then
ActiveWorkbook.Worksheets(lngIndex).Visible = xlSheetVisible
End If
Next lngIndex
End With
Tausend Dank!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 15:46:06
Nepumuk
Hallo,
du musst nur Index + 1 rechnen. Der Index in der ListBox beginnt bei 0, die der Tabellen bei 1.
Gruß
Nepumuk
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 16:10:09
Hase
Hallo Nepumuk,
das ging ja fix, leider ist das Problem aber jetzt noch gravierender.
Laufzeitfehler: '-2147024809 (80070057)':
Eigenschaft Selected konnte nicht abgerufen werden. Ungültiges Argument.
Das ListCount Argument zählt ja jetzt eins hoch, d.h. der lngIndex ist jetzt bei 9 obwohl nur 8 Werte eingelesen werden können.
Hast du andere Vorschläge?
Grüße
Hase
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 16:14:31
Nepumuk
Hallo Hase,
du musst das natürlich an der richtigen Stelle machen :-)
ActiveWorkbook.Worksheets(lngIndex + 1).Visible = xlSheetVisible

Gruß
Nepumuk
Anzeige
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 16:16:36
Hase
Hallo Nepumuk,
ohje.. wie würde mein Kollege jetzt sagen "Da muss man schon ein bisschen mehr wissen")
Peinlich peinlich.. Tausend Dank!
Funktioniert jetzt wie es soll!
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 16:22:11
Daniel
Hi
du musst da aufpassen, die Startindexnummern der vom System erzeugen Listen ist nicht immer gleich:
Die Indexnummern der Listbox beginnen mit 0
Die Indexnummern der Tabellenblätter beginnen mit 1
dh du darfst die +1 nur dann hinzu addieren, wenn du dich auf Tabellenblätter beziehst.
Beziehst du dich auf Listbox, darfst du es nicht tun!
 Dim lngIndex As Long
With ListBox1
For lngIndex = 0 To .ListCount - 1
If .Selected(lngIndex) Then
ActiveWorkbook.Worksheets(lngIndex + 1).Visible = xlSheetVisible
End If
Next lngIndex
End With
Falls du in der Listbox den Blattnamen hinterlegt hast, würde ich es bevorzugen das Blatt auch über den Namen anzusprechen und nicht über die Indexnummer:
 Dim lngIndex As Long
With ListBox1
For lngIndex = 0 To .ListCount - 1
If .Selected(lngIndex) Then
ActiveWorkbook.Worksheets(.List(lngIndex)).Visible = xlSheetVisible
End If
Next lngIndex
End With
Gruß Daniel
Anzeige
AW: ListBox. Selected, Ausgabe Werte um 1versetzt
13.11.2017 16:30:04
Hase
Hallo Daniel,
vielen Dank! Wieder was gelernt.
Ich hab meinen Code jetzt so umgestrickt, dass der User erst die Blätter ab 3 sieht, die ersten 2 sind irrelevant für ihn.
Daher ist es natürlich schon praktischer das entsprechende Blatt direkt über den Namen anzusprechen.
Vielen lieben Dank!

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige