Office: (Office 365) Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

Helfe beim Thema Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von wowifeelgood, 10. August 2023.

  1. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben


    Hallo,

    ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt (TB2) basieren. Das kopieren/ Vervielfachen an sich wäre noch recht easy, nur möchte ich in den Tabellenblättern gewisse Zellen (z.B. C3) abhängig von einer weiteren Tabelle in Tabellenblatt 1 (TB1) machen und wenn es geht auch die jeweiligen TB-Blatt Namen danach benennen.

    Also quasi folgendes Szenario:
    TB1: Tabelle mit Überschriften
    A1=Überschrift1
    A2=Überschrift2
    An=Überschriftn etc.
    TB2: grafische Vorlage mit fixen Werten und Texten, die vervielfältigt werden sollen

    TB3: TB-Name und Zelle C3 mit Überschrift1
    TB4: TB-Name und Zelle C3 mit Überschrift2
    ... bis TB42
    Gibt es da eine Möglichkeit? Am liebsten wäre es mir die beiden Dinge im Code zu trennen, also erst das Anlegen der Tabellenblätter, dann das benennen der Tabellenblätter und dann erst das Einfügen der Überschrift in C3


    Hintergrund: Eigentlich möchte ich eine Vorlage vervielfältigen, für mehrere Projekte, diese dann als einzelne Dateien abspeichern und Quartalsweise mit diesen Dateien Statusabfragen machen, die ich dann in einer Übersichts-Arbeitsmappe automatisiert einlese und zusammenfasse.
     
    wowifeelgood, 10. August 2023
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    da du geschrieben hast, dass das Erstellen der Blätter kein Problem sei - hier eine Möglichkeit zum nachtäglichen Benennen der Blätter und Eintrag in C3 (Code ungetestet):

    Code:
    Sub TabsBenennen()
        Dim wksTab As Worksheet
        Dim lngZeile As Long
        lngZeile = 1
        For Each wksTab In ThisWorkbook.Worksheets
            If wksTab.Name <> "TB1" And wksTab.Name <> "TB2" Then
                wksTab.Name = Worksheets("TB1").Cells(lngZeile, 1)
                wksTab.Range("C3") = Worksheets("TB1").Cells(lngZeile, 1)
                lngZeile = lngZeile + 1
            End If
        Next wksTab
    End Sub
    

    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben GrußformelTabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben Beverly's Excel - Inn
     
    Beverly, 10. August 2023
    #2
    1 Person gefällt das.
  3. Hi Beverly und danke für die schnelle Antwort!
    Also als code zum Kopieren nehme ich einfach folgendes:

    Code:
    Sub TabsErstellen()
        Dim intZaehler As Integer
        For intZaehler = 1 To 40
            Worksheets("I1").Copy after:=Worksheets(Worksheets.Count)
            Worksheets(Worksheets.Count).Name = intZaehler + 1
        Next intZaehler
    End Sub
    
    
    Zu deinem Code: Ich habe A1-n nur als Beispiel genommen, so wie ich den Code verstehe geht LngZeile auf genau die erste Spalte ein, oder? Ist es auch möglich die "Startzelle", wo es dann mit den weiteren Zeilen in der Spalte weitergehen soll genau zu definieren?
     
    wowifeelgood, 10. August 2023
    #3
  4. DIZA
    DIZA hat Ahnung

    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    lngZeile = 1
    ist die "Beginnzeile", wenn du erst ab Zeile 5 anfangen willst, setze hier
    lngZeile = 5
     
  5. Hi Diza, danke!
    Und wie beginne ich mit einer Beginnzeile 5 aber in Spalte D?
     
    wowifeelgood, 10. August 2023
    #5
  6. Beverly
    Beverly Erfahrener User
    Die Zelladresse wird folgendermaßen dargestellt: Cells(Zeilennummer, Spaltennummer)


    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben GrußformelTabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben Beverly's Excel - Inn
     
    Beverly, 10. August 2023
    #6
  7. Ah nice, danke! :) dann versuche ich das nachher mal und melde mich, ob es so geklappt hat!
     
    wowifeelgood, 10. August 2023
    #7
  8. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    ich habe jetzt folgenden Code als Modul eingefügt:

    Code:
    Option Explicit
    
    'Tabellenblätter werden nach den Zellen ab Zeile 06 fortlaufend durchbenannt und auch die Zelle (Zeile, Spalte(als Ziffer)) wird in dem jeweiligen Tabellenblatt so benannt (Ab C6 in TB: Projekte)
    Sub TabsBenennen()
        Dim wksTab As Worksheet
        Dim lngZeile As Long
        'lngZeile bedeutet Start ab Zeile 06
        lngZeile = 6
        For Each wksTab In ThisWorkbook.Worksheets
            If wksTab.Name <> "Gesamtübersicht" And wksTab.Name <> "Projektübersicht" And wksTab.Name <> "B1" And wksTab.Name <> "Projekte" Then
                wksTab.Name = Worksheets("Projekte").Cells(lngZeile, 3)
                wksTab.Range("K6") = Worksheets("Projekte").Cells(lngZeile, 3)
                lngZeile = lngZeile + 1
            End If
        Next wksTab
    End Sub
    
    Die Namen der Tabellenblätter, die verändert werden sollen sind die Ziffern 1-40

    es kommt jedoch folgende Fehlermeldung:
    Laufzeitfehler '1004':
    Der sicher eingegebene Name für ein Blatt oder Diagramm ist ungültig. Stellen sie folgendes Sicher:
    • eingegebener Name max. 31 Zeichen
    • Name enthält keine Sonderzeichen
    • es wurde ein Name eingegeben
     
    wowifeelgood, 10. August 2023
    #8
  9. Beverly
    Beverly Erfahrener User
    Was genau steht denn in der laufenden Zelle in Spalte C?


    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben GrußformelTabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben Beverly's Excel - Inn
     
    Beverly, 10. August 2023
    #9
  10. Hi Beverly, der Hinweis war super, hätte ich natürlich auch selbst drauf kommen können. In Spalte C habe ich die Projektnummer und den Projektnamen mit einer Formel zusammengefasst. Deshalb möchte ich nun in der Zelle K6 von den TB1-40) die C6+ Werte und als Tabellennamen eine Zusammensetzung aus Text und laufender Projektnummer (also A6+).

    habe den Code angepasst und habe danach noch diese Fehlermeldung bekommen:
    Laufzeitfehler '9': Index außerhalb des gültigen Bereichs

    Ich hatte den Eindruck, dass ich noch definieren muss, wie viele Tabellenblätter so benannt werden sollen. Bin dann den umgekehrten Weg gegangen und habe genau so viele Tabellenblätter nach den ersten 4 gelassen, wie viele Zeilen/Projekte es gibt (38 statt 40) Ich dachte der Code geht alle Tabellenblätter durch und die letzten benennt er einfach nicht um bzw. wenn es keine weiteren Tabellenblätter mehr gibt hat er eben keine weiteren TB mehr, um die übrigen Zeilen einzufügen.

    Was auch komisch war, dass die referenzierten Werte in der Tabelle im TB "Projekte" wie gesagt ab Zeile 6 beginnen, als ich den Code mit lngZeile = 6 durchlaufen lassen habe, war aber alles um 2 verschoben und die TB begannen erst ab 3 zu zählen. Deshalb habe ich lngZeile auf 4 gesetzt, so funktioniert es nun und es wird ab Projekt 1 gezählt, verstehe ich jedoch nicht so recht.

    Nunja. mit der gleichen Anzahl an TB, die der Anzahl der folgenden Zeilen entspricht funktioniert jetzt der folgende Code ohne Fehlermeldung:

    Code:
    Option Explicit
    
    'Tabellenblätter werden nach den Zellen ab Zeile 06 fortlaufend durchbenannt und auch die Zelle (Zeile, Spalte(als Ziffer)) wird in dem jeweiligen Tabellenblatt so benannt (Ab C6 in TB: Projekte) (ab A6 ist die laufende Projektnummer)
    Sub TabsBenennen()
    Dim wksTab As Worksheet
    Dim lngZeile As Long
        'lngZeile bedeutet Start ab Zeile 06
        lngZeile = 4
        For Each wksTab In ThisWorkbook.Worksheets
            If wksTab.Name <> "Gesamtübersicht" And wksTab.Name <> "Projektübersicht" And wksTab.Name <> "B1" And wksTab.Name <> "Projekte" Then
            'Tabellenblattname soll wie foglt sein: "Proj. Nr. XX+XX - IP PV"
                wksTab.Name = "Proj. NR. " & Worksheets("Projekte").Cells(lngZeile, 1) & " - IP PV"
            'In Zelle K6 von den zu vervielfältigenden Inputblättern sollen die Zellen C6 ff. in die jeweiligen Tabellenblätter fortlaufend übernommen werden
                wksTab.Range("K6") = Worksheets("Projekte").Cells(lngZeile, 3)
                lngZeile = lngZeile + 1
            End If
        Next wksTab
    End Sub
    
     
    wowifeelgood, 11. August 2023
    #10
  11. Beverly
    Beverly Erfahrener User
    Den Grund für das Problem mit der Zeilennummer kann ich - ohne die Arbeitsmappe zu sehen - so nicht nachvollziehen. In meiner Beispielmappe hat der Code jedenfalls korrekt funktioniert. Er läuft ja über alle in der Mappe existierenden Tabellenblätter (unabhängig von der Gesamtanzahl!) und wenn deren Name weder "Gesamtübersicht", noch "Projektübersicht", noch "B1" noch "Projekte" ist (also die Namen den neu erstellten Blättern entsprechen) soll der Code in die If-Verzweigung gehen und das laufende Blatt entsprechend der laufenden Zeile benennen und außerdem den Namen in die Zelle K6 eintragen.

    Ich kann auch nichts Konkretes zu der Fehlermeldung Laufzeitfehler '9': Index außerhalb des gültigen Bereichs sagen, da du nicht geschrieben hast, in welcher Codezeile sie auftritt. Das Einzige was ich dazu sagen kann ist, dass er immer dann auftritt, wenn das angesprochene Objekt nicht vorhanden ist.


    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben GrußformelTabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben Beverly's Excel - Inn
     
    Beverly, 11. August 2023
    #11
    1 Person gefällt das.
Thema:

Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

Die Seite wird geladen...
  1. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben - Similar Threads - Tabellenblätter Vorlagen Tabellenblatt

  2. commandbutton fließend auf dem Tabellenblatt einrichten

    in Microsoft Excel Hilfe
    commandbutton fließend auf dem Tabellenblatt einrichten: Hallo zusammen. Habe mal eine wahrscheinlich einfachen Frage. Ich richte einen CommandButton auf einem Tabellenblatt in EXCEL ein. Nun möchte ich, dass dieser Button immer in der gleichen Position...
  3. Tabellenblatt in neue Mappe kopieren

    in Microsoft Excel Hilfe
    Tabellenblatt in neue Mappe kopieren: Hallo zusammen, ich hoffe, jemand kann mir weiterhelfen. Das Vorhaben: Nach Befüllen einer Excel-Tabelle soll ein Blatt daraus in eine eigenständige Mappe kopiert werden und alle Verknüpfungen...
  4. Beträge in anderem Tabellenblatt anzeigen lassen mit Bezug auf einen Monat und ohne Leerzellen

    in Microsoft Excel Hilfe
    Beträge in anderem Tabellenblatt anzeigen lassen mit Bezug auf einen Monat und ohne Leerzellen: Hello, nun habe ich noch ein kleines Problem... ich habe es schon mal versucht, aber komme nicht zum richtigen Ergebnis... Jetzt soll ein Betrag in einem anderen Tabellenblatt angezeigt...
  5. Daten aus einem Tabellenblatt in ein anderes kopieren ohne Leerzellen anzuzeigen

    in Microsoft Excel Hilfe
    Daten aus einem Tabellenblatt in ein anderes kopieren ohne Leerzellen anzuzeigen: Hallo zusammen, ich habe folgendes Problem. Ich würde gerne in einem Tabellenblatt, bestimmte Daten aus einem anderen Tabellenblatt automatisch anzeigen lassen. Tabellenblatt 1 = Grundlage...
  6. Formel für Auswahlmöglichkeiten im Tabellenblatt

    in Microsoft Excel Hilfe
    Formel für Auswahlmöglichkeiten im Tabellenblatt: Hallo liebe Community, ich hoffe, dass ich die Herausforderung richtig erkläre :-) Ich benötige eine Formel, die mir Daten ausspuckt, wenn in einer anderen Zelle ein bestimmter Wert ausgewählt...
  7. Zeile per Klick farblich machen auch für weitere Tabellenblätter möglich?

    in Microsoft Excel Hilfe
    Zeile per Klick farblich machen auch für weitere Tabellenblätter möglich?: Hallo. Ich habe mehrere Tabellenblätter. Das 1. Blatt ist Bedingt formatiert mit: =ZEILE()=ZELLE("Zeile") dazu die Farbe grün und dem VBA Code: Target.Calculate (Datei ist im Anhang) Wenn ich...
  8. Vorlage für Tabellenblätter erstellen

    in Microsoft Excel Hilfe
    Vorlage für Tabellenblätter erstellen: Hallo, ich weiss nicht genau wie ich mein Anliegen nennen soll deshalb tu ich mich auch schwer nach einer Lösung zu suchen. Ich versuche es einmal zu erklären. Ich möchte eine Tabelle erstellen...
  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