Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro: Kopieren Tabellenblatt und ändern Zellbezug

Makro: Kopieren Tabellenblatt und ändern Zellbezug
22.01.2016 16:45:11
Sven
Guten Tag liebe Experten,
ich benötige Unterstützung für ein Problem das ich selbst nicht lösen kann.
Folgendes soll ein Makro machen:
1.) Kopieren des vorheriegen Tabellenblatts
2.) Einfügen des Tabellenblatts an das Ende
3.) Umbenennung des Tabellenblatts mit einer fortlaufenden Ziffer begonnen bei 2
4.) Ändern der Zellbezüge in diesem Tabellenblatt um jeweils einen Wert
5.) Dieser Vorgang soll 61 mal wiederholt werden
Beispiel:
1.) Kopieren des Tabellenblatts 1
2.) Einfügen des Tabellenblatts 1 an das Ende der Exceldatei
3.) Umbenennung des kopierten Tabellenblatts 1 in Tabellenblatt 2
4.) Änderung des Zellbezuges in Zelle
C1 von =+Projektübersicht!B4 auf =+Projektübersicht!B5
C7 von =+Projektübersicht!C4 auf =+Projektübersicht!C5
C9 von =+Projektübersicht!E4 auf =+Projektübersicht!E5
C11 von =+Projektübersicht!G4 auf =+Projektübersicht!G5
5.) Wiederholung des kompletten Vorgangs mit allen Schritten 61 mal
Zu Punkt 4.) die Werte werden jeweils immer um einen Schritt nach oben gezählt.
Ich hoffe es ist verständlich und jemand kann mir hier helfen.
Vielen Dank!

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Kopieren Tabellenblatt und ändern Zellbezug
24.01.2016 16:28:48
Herbert
Hallo Sven,
mit einer Beispieldatei könnte ich dir viel leichter helfen.
Servus

AW: Makro: Kopieren Tabellenblatt und ändern Zellbezug
26.01.2016 09:21:16
Herbert
Hallo Sven,
es tut mir leid, dass ich dir erst jetzt antworte, aber ich war leider verhindert. Doch jetzt habe ich eine Lösung. Sie probiers mal aus.
Option Explicit
Sub TabellenKopieren()
Dim iCount%
For iCount = 3 To 63
ActiveWorkbook.Sheets(iCount).Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.name = iCount
Range("C1").Formula = "=Projektübersicht!B5"
Range("C7").Formula = "=Projektübersicht!C5"
Range("C9").Formula = "=Projektübersicht!E5"
Range("C11").Formula = "=Projektübersicht!G5"
Next iCount
End Sub
Servus

Anzeige
AW: Makro: Kopieren Tabellenblatt und ändern Zellbezug
27.01.2016 12:12:37
Sven
Hallo Herbert,
danke für deine Mühe. Leider bekomme ich hier folgende Fehlermeldung:
Laufzeitfehler '1004'
Kann einem Blatt nicht den gleichen Namen geben wir einem anderen Blatt, einer Objektbibliothek oder einer Arbeitsmappe, auf die Visual Basic Bezug nimmt.

AW: Makro: Kopieren Tabellenblatt und ändern Zellbezug
27.01.2016 12:23:25
Herbert
Hallo Sven,
da mein Code bei mir keinen Fehler ausgelöst hat, kann es nur an deinem restl. Code liegen. Lade noch mal deine Datei hoch, dann kann ich besser erkennen, woran es liegen könnte.
Servus

Anzeige
AW: Makro: Kopieren Tabellenblatt und ändern Zellbezug
28.01.2016 08:38:29
Sven
Guten Morgen Herbert,
ich habe noch ein wenig rumprobiert. Jetzt hat es geklappt.
Danke für die Unterstützung.
Gruß
Sven

Gerne geschehen! owt
28.01.2016 09:38:19
Herbert
,,
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro zum Kopieren eines Tabellenblatts und Ändern von Zellbezügen


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das ein vorhandenes Tabellenblatt kopiert und die Zellbezüge ändert, befolge diese Schritte:

  1. Öffne Excel und drücke Alt + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    Sub TabellenKopieren()
       Dim iCount%
       For iCount = 2 To 62
           ActiveWorkbook.Sheets(1).Copy after:=Worksheets(Worksheets.Count)
           ActiveSheet.Name = "Tabellenblatt " & iCount
           Range("C1").Formula = "=Projektübersicht!B" & (iCount + 3)
           Range("C7").Formula = "=Projektübersicht!C" & (iCount + 3)
           Range("C9").Formula = "=Projektübersicht!E" & (iCount + 3)
           Range("C11").Formula = "=Projektübersicht!G" & (iCount + 3)
       Next iCount
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle dein Makro aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler '1004': "Kann einem Blatt nicht den gleichen Namen geben".

    • Lösung: Stelle sicher, dass das neue Tabellenblatt einen einzigartigen Namen hat. Der oben bereitgestellte Code fügt eine fortlaufende Ziffer hinzu, um dies zu verhindern.
  • Fehler: Zellbezüge ändern nicht:

    • Lösung: Überprüfe, ob die Formeln korrekt angepasst werden. Der Code oben verwendet (iCount + 3), um die Zellbezüge entsprechend zu ändern.

Alternative Methoden

Wenn du kein Makro verwenden möchtest, kannst du auch manuell die Zellbezüge ändern:

  1. Kopiere das Tabellenblatt manuell und füge es am Ende ein.
  2. Ändere die Zellbezüge in den Zellen, indem du die Formeln direkt anpasst.
  3. Verwende die Funktion "Suchen und Ersetzen" (Strg + H), um Zellbezüge schnell zu ändern.

Praktische Beispiele

Wenn du ein Tabellenblatt mit dem Namen "Projektübersicht" hast und die Formeln in Zelle C1, C7, C9 und C11 ändern möchtest, könnte der Ausgangspunkt so aussehen:

  • Vorher:

    • C1: =Projektübersicht!B4
    • C7: =Projektübersicht!C4
    • C9: =Projektübersicht!E4
    • C11: =Projektübersicht!G4
  • Nach dem Ausführen des Makros:

    • C1: =Projektübersicht!B5
    • C7: =Projektübersicht!C5
    • C9: =Projektübersicht!E5
    • C11: =Projektübersicht!G5

Tipps für Profis

  • Nutze die Option Explicit Anweisung am Anfang deines Codes, um sicherzustellen, dass alle Variablen deklariert sind, bevor du sie verwendest. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit Schleifen und Bedingungen in VBA, um komplexere Aufgaben zu automatisieren und deine Arbeitsabläufe zu optimieren.

FAQ: Häufige Fragen

1. Kann ich das Makro auch in älteren Excel-Versionen verwenden?
Ja, dieses Makro sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und später.

2. Was muss ich tun, wenn ich keine Makros aktivieren kann?
Stelle sicher, dass die Makros in den Excel-Optionen aktiviert sind. Du findest diese Option unter Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige