Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
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 Each - Welche Systematik bei Reihenfolge?
Thorsten
Hallo Experten,
ich habe ein Problem mit der Reihenfolge, die bei der "For Each"-Schleife genutzt wird. Ich nutze ein Userform für den Print-Dialog. In diesem UserForm werden sämtliche Blätter als Checkbox angezeigt. Reihenfolge (Auszug):
Checkbox_Start -> "START"-Blatt / TabStop 1
Checkbox_ExRates -> "ExRates"-Blatt / TabStop 2
Checkbox_01 -> "01"-Blatt / TabStop 3
Checkbox_02 -> "02"-Blatt / TabStop 4
Dabei tragen die Checkboxen die o.a. Namen. Auch die Tabreihenfolge ist wie angegeben. Wenn ich nun aber den Code:
For Each Ctrl In Me.Controls
    If InStr(Ctrl.name, "CheckBox") = 1 Then 'Es gibt diverse Steuerelemente, daher eingrenzen auf Checkboxes
        If Ctrl.Value = True Then 'Wenn CheckBox ausgewählt ...
            blattname = Mid(Ctrl.name, 10, 36) 'Blattname entspricht Checkbox-Name ohne Prefix "Checkbox_"
            Sheets(blattname).PrintOut , , copies, False, ComboBox_Printer.Text 'Blatt drucken
        End If
    End If
Next
ausführe, werden die Blätter in folgender Reihenfolge durchlaufen:
01 -> START -> 02 -> ExRates
Welche Systematik steckt dahinter? Und wie kann ich diese ggf. beeinflussen?
Danke für die Unterstützung,
Thorsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: For Each - Welche Systematik bei Reihenfolge?
16.10.2009 11:03:06
Yusuf
Moin,
ich bin mir zwar nicht sicher aber eventuell benutzt die For Each Anweisung den "TabIndex" um überhaupt eine Reihenfolge festlegen zu koennen.
Den "TabIndex" kannst du in dem Eigenschaftenfenster des entsprechenden Userformelements einsehen und auch nachtraeglich anpassen/veraendern.
Kannst ja mal ueberpruefen ob deine Reihenfolge der Blätter der "Tabreihenfolge" entspricht.
Gruß
Yusuf
AW: For Each - Welche Systematik bei Reihenfolge?
16.10.2009 11:30:30
Thorsten
Hallo Yusuf,
danke für den Hinweis. Das war auch zunächst meine Vermutung, da das die einzige Eigenschaft bei den Steuerelementen ist, die irgendetwas mit Reihenfolge zu tun hat. Aber Wie oben beschrieben, hab ich die TabStops bereits entsprechend gesetzt. Hatte leider nur nicht den gewünschten Erfolg, es muss also noch eine andere - mir nicht bekannte - Eigenschaft geben, die die Reihenfolge schlussendlich definiert, irgendjemand eine Idee?
Danke und Gruß
Thorsten
Anzeige
AW: For Each - Welche Systematik bei Reihenfolge?
16.10.2009 13:40:29
Luschi
Hallo Thorsten,
damit wirst Du kein Glück haben, da Excel die Reihenfolge wohl nach dem Erstellungszeitpunkt der Controls intern führt und man diese wohl nicht per Vba ändern kann.
Versuch es doch mal damit:

Dim v As Variant
For Each v In Array("Checkbox_Start", "Checkbox_ExRates", "Checkbox_01", "Checkbox_02")
If Me(v).Value Then
Sheets(Mid(v, 10)).PrintOut , , copies, False, ComboBox_Printer.Text
End If
Next v
Gruß von Luschi
aus klein-Paris
AW: For Each - Welche Systematik bei Reihenfolge?
16.10.2009 13:48:37
Thorsten
Hallo Luschi,
danke auch für Deinen Hinweis. So habe ich es mir abschließend auch überlegt, wenn auch noch nicht den Code durchdacht. Ist ja wirklich bedauerlich, dass es dafür keine Einstell-Möglichkeit gibt.
Ich habe mir jetzt übrigens so geholfen, dass ich einfach noch einmal Copy&Paste mit den jeweiligen Checkboxen gemacht habe, danach passte die Reihenfolge.
Gruß
Thorsten
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige