Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1380to1384
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
For-Schleife für Multiselect in Listbox
18.09.2014 09:56:17
Tom
Hallo,
Ich habe in einer Userform eine Listbox, die alle Tabellennamen meiner Arbeitsmappe enthält. Diese Tabellennamen sind zusätlich noch mit einem Hyperlink zu einer bestimmten Zelle auf dem jeweiligen Blatt hinterlegt. Klicke ich einen Tabellennamen, wird automatisch im Hintergrund der Userform zu der Zelle gesprungen und das Tabellenblatt somit aktiv.
Anzumerken ist, dass die verlinkten Tabellennamen in einer eigenen Tabelle, nämlich in der letzen der Arbeitsmappe, sind.
Mein Code sieht folgendermaßen aus:

Private Sub ListBox1_Click()
With Me.ListBox1
If .ListIndex  -1 Then
Sheets(.List(.ListIndex, 0)).Activate
Range(.List(.ListIndex, 1)).Select
End If
End With
End Sub
Das funktioniert soweit sehr gut.
Nun möchte ich aber mehrere Tabellenblätter auf einmal auswählen können. Die Mulitselect Funktion der Listbox funktioniert leider nicht, da ja nicht mehrere Tabellenblätter auf einmal aktiv sein können.
Deswegen möchte ich die die Listbox mit einer For-Schleife durchgehen, mit der geprüft wird, welche Tabellenblätter ausgewählt sind und diese dann nacheinander aktiviert und somit bearbeitet werden können. Ich möchte einfach nicht jedes Tabellenblatt einzeln anklicken müssen.
Mein aktueller Code dazu sieht so aus:

With Me.ListBox1
For x = .ListCount - 1 To 0 Step -1
wert_neu = eingabe
If .Selected(x) = True Then       'also wenn Häckchen gesetzt ist dann ...
Sheets(.List(.ListIndex, 0)).Activate
Range(.List(.ListIndex, 1)).Select
End If
Befehle zur Bearbeitung
Next x
End With
Von den ausgewählten Tabellenblättern wird meistens nur das erste oder das erste und das letzte bearbeitet.
Was mache ich falsch?
Danke schon mal!
Gruß,
Tom

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For-Schleife für Multiselect in Listbox
18.09.2014 10:19:33
Rudi
Hallo,
Was mache ich falsch?
Du muss Blätter/ Zellen nicht aktivieren um damit zu arbeiten.
Aber wenn du unbedingt willst:
Sheets(.List(x, 0)).Activate
Range(.List(x, 1)).Select
Gruß
Rudi

AW: For-Schleife für Multiselect in Listbox
18.09.2014 10:43:05
Tom
Vielen Dank, Rudi! Jetzt funktionierts.
In meinem Fall muss das Blatt/Zelle schon aktiv sein, da die Userform immer nur das aktive Sheet anspricht.
Gruß,
Tom

AW: For-Schleife für Multiselect in Listbox
18.09.2014 10:46:14
Rudi
Hallo,
da die Userform immer nur das aktive Sheet anspricht
das kann man aber auch anders machen.
Gruß
Rudi
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige