Office: Array mit Blattnamen füllen

Helfe beim Thema Array mit Blattnamen füllen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich möchte, dass man vor dem Drucken, über eine Reihe von Checkboxen Blätter selektieren kann. Danach kann man im Druckdialog mit dem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von taxischeria, 20. November 2010.

  1. Array mit Blattnamen füllen


    Hallo!

    Ich möchte, dass man vor dem Drucken, über eine Reihe von Checkboxen Blätter selektieren kann. Danach kann man im Druckdialog mit dem Radiobutton die Option ausgewählte Blätter markieren um die vorher selektierten Blätter zu drucken.

    Die Userform, Buttons und Makros hab ich auch weitestgehend. Nur fehlt mir im folgenden Makro in der Schleife die zentrale Anweisung, die sich alle Blattnamen merkt und dann selektiert/markiert. Ich dachte an ein Array, welches sich über die Schleifendurchläufe füllt, aber weiß nicht wie ich es realisieren soll...

    Hat jemand nen Rat für mich?

    Vielen Dank euch allen im Voraus!

    Gruß, taxischeria

    Code:
    :)
     
    taxischeria, 20. November 2010
    #1
  2. Hallo!

    Nimm dafür ein Treeview in der Userform. Dann kannst Du mit folgenden Code arbeiten.

    Gruß, René
     
  3. Hallo René,

    zunächst einmal Danke für Deine Antwort. Aber von einem Treeview in Excel hör ich jetzt zum ersten Mal. Dementsprechend sagt mir Dein Code auch nicht sehr viel.

    Ist es mit meinem bestehenden Ansatz unmöglich dieses Problem zu lösen? Denn damit kenne ich mich aus und hätte es auch einfacher den Code falls irgendwann nötig anzupassen.
    Falls es nur über einen Treeview geht, könntest Du den kurz erklären oder mir eine Seite empfehlen, wo das auch für einen VBA Anfänger verständlich erklärt wird?

    Ich muss auch noch dazu sagen, dass meine Tabellenblätter durch löschen und hinzufügen neuer Blätter im Projektexplorer nicht mehr lückenlos von Tabelle1 bis TabelleX durchnummeriert sind. Das könnte einer Schleife, die die Blattnummern benutzt im Weg stehen.

    Weitere Vorschläge?

    Bin dankbar für jeden Tipp!

    Gruß, taxischeria
     
    taxischeria, 22. November 2010
    #3
  4. Array mit Blattnamen füllen

    Moin, taxischeria,

    das Problem lässt sich definitiv ohne TreeView lösen, wobei mir aus dem hier geposteten Zusammenhang nicht klar wird, warum Du unbedingt ein Array benötigst...
     
  5. Hallo jinx!

    Die Idee mit dem Array war mir die naheliegendste und stammt vom Makrorekorder. Dort habe ich ein Makro aufgezeichnet, in dem ich verschiedene Blätter markiert und dann gedruckt habe. Der Rekorder lieferte dann ein Sheets(Array()).
    In meinem Ansatz wollte ich nun versuchen solch ein Array über eine UserForm mit Checkboxen zu füllen. Zunächst hatte ich versucht einen String ArrStr in der Form "Blatt1", "Blatt2", "Blatt3"... zu basteln. Das hat auch geklappt, nur die Formel Sheets(Array(ArrStr)).Select lieferte einen Fehler.

    Was würdest Du für einen Ansatz wählen?

    Gruß, taxischeria
     
    taxischeria, 22. November 2010
    #5
  6. Moin, taxischeria,

    ein String ist aber kein Array, und aus Deinem Code heraus weiß ich nicht, was Du wie machst. Das folgende Beispiel gruppiert die Tabellen anhand der Mehrfachauswahl in einer UserForm-ListBox namens lstEinlesen:

    Code:
    Kannst Du das auf Dein Problem umschreiben?

    P.S.: Sieh Dir doch bitte einmal die Optionen zur ListBox unter Eigenschaften und MultiSelect an - ich finde es einfacher, mit weniger Steuerelementen auf einer UserForm zu arbeiten.
     
  7. Hallo Jinx!

    Fast Perfekt. Ich habe eine Userform mit Listbox erstellt und Deinen vorgeschlagenen Code entsprechend angepasst.

    Das ganze sieht sogar besser aus und funktioniert auch schon fast genau so wie ich es wollte.

    Das einzige Problem ist, dass eventuell auch Blätter in der Listbox ausgewählt werden, die zum Zeitpunkt des Aufrufs der Userform ausgeblendet sind. Dann geht der Code in die Knie, da die Anweisung

    Code:
    nicht mehr ausgeführt werden kann.

    Kann man ausgeblendete Blätter auch zum drucken anwählen oder muss ich an geeigneter Stelle den Befehl zum einblenden der angewählten Blätter geben? Wo ist diese Stelle?

    Gruß, taxischeria
     
    taxischeria, 22. November 2010
    #7
  8. Array mit Blattnamen füllen

    Hallo!

    Ich hab´s jetzt selbst gelöst indem ich an einer anderen Schraube gedreht habe.
    Ich habe beim Füllen der Listbox schon auf Sichtbarkeit des Worksheets geprüft und nur diejenigen Blätter in die Listbox aufgenommen, die auch sichtbar sind. Somit war eine Auswahl von ausgeblendeten Blättern nicht mehr möglich...

    Vielen Dank an Jinx für die entscheidende Codepassage!

    Gruß, taxischeria
     
    taxischeria, 22. November 2010
    #8
  9. Zuerst einmal musst Du das Treeview in die Werkzeugleiste einfügen.

    1. Neue Userform einfügen.
    2. Rechtsklick auf Werkzeugleiste->Weitere Steuerelemente...
    3. In der Liste suchen nach Microsoft Treeview Control, Version 5.0 (SP2) und dieses anhaken. Dann auf OK.
    4. Nun ein Treeview in die Userform einfügen.
    5. Dann noch eine Schaltfläche einfügen.
    6. In den Codebereich den geposteten Code einfügen, dann im Code den Namen des Treeviews anpassen.

    Nun sollte beim Start der Userform das Treeview mit den Namen aller Blätter der aktiven Arbeitsmappe gefüllt werden. Nach Auswahl der gewünschten Blätter auf die Schaltfläche klicken, dann sollten die gewählten Blätter markiert werden.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
Thema:

Array mit Blattnamen füllen

Die Seite wird geladen...
  1. Array mit Blattnamen füllen - Similar Threads - Array Blattnamen füllen

  2. Zahlendubletten im Array

    in Microsoft Excel Hilfe
    Zahlendubletten im Array: Guten Morgen liebe Community, anbei ein vereinfachtes Beispiel der Problematik, da das Original mehrere LAMBDA-Funktionen und Tabellen mit einbezieht. Ich benötige die Lösung, um eine weitere...
  3. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  4. Summenteilergebnis eines Arrays als Array darstellen

    in Microsoft Excel Hilfe
    Summenteilergebnis eines Arrays als Array darstellen: Hallo Community, Summenteilergebnis eines Arrays als Array darstellen. An dieser Stelle stecke ich fest. Ich habe eine Testmappe erstellt, die die Problematik versucht darzustellen. Bevor jemand...
  5. Formel bei Veränderung von dynamischem Array "mitziehen"?

    in Microsoft Excel Hilfe
    Formel bei Veränderung von dynamischem Array "mitziehen"?: Hallo liebes Forum, ich komme bei folgendem Problem nicht weiter und habe mir hier etwas Hilfe erhofft: Ich habe eine Tabelle mit Feedbacks zu Lehrgängen/Kursen. Diese will ich nach Dozent erst...
  6. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  7. Zählenwenn Ergebnis als dyn. Array

    in Microsoft Excel Hilfe
    Zählenwenn Ergebnis als dyn. Array: Hallo, In beiliegender Tabelle soll ein dyn. Array ausgegeben werden, welches die Ergebnisse wie in Spalte C beinhaltet. Das Array darf dabei nicht kürzer sein, als die Tabelle1 selbst. Also nicht...
  8. dyn. array in Let

    in Microsoft Excel Hilfe
    dyn. array in Let: Tach gesagt, Mit =HEUTE()+{-1;0;1} wird das Datum "gestern", "heute", "morgen" ausgegeben. Jetzt bei einer Let-Funktion das gleiche: Beispiel: =LET(H_1;-1; H_2;0; H_3;1; HEUTE()+{H_1;H_2;H_3}...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden