Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Arbeitsblätter kopieren
#1
Hallo,

folgender Anwendungsfall:

Ich habe eine Exceltabelle mit einer Zusammenfassung und einem Berechnungsblatt.

Das Berechnungsblatt wird mittels Makro immer automatisch nach einer bestimmten Zelle (B8) benannt.

Nun möchte ich ebenfalls per Makro neue Berechnungsblätter hinzukopieren.

Weil das ursprüngliche Berechnungsblatt jedoch je nach Art der Berechnung unterschiedliche Benennungen haben wird, weiß ich nicht, wie das Makro aussehen muss.

Außerdem will ich erreichen, dass bestimmte Werte und Angaben aus den jeweiligen Berechnungsblättern automatisch in der Zusammenfassung auftauchen und mitberechnet werden.

Kann mir da jemand helfen?
Antworten Top
#2
Hi,

(15.03.2017, 10:15)Leini schrieb: Nun möchte ich ebenfalls per Makro neue Berechnungsblätter hinzukopieren.

Weil das ursprüngliche Berechnungsblatt jedoch je nach Art der Berechnung unterschiedliche Benennungen haben wird, weiß ich nicht, wie das Makro aussehen muss.

per Makro bedeutet mit einem Button?

Frage 1:
In jedem Blatt einen Button einfügen und dem dieses Makro zuweisen
Option Explicit

Sub Makro1()
   ' 
   ' Makro1 Makro 
   ' 
   
   ' 
   ActiveSheet.Copy Before:=Sheets(4)
End Sub
Antworten Top
#3
Genau, mit einem Button!

Muss ich diesen Button in jedes hinzugefügte Tabellenblatt manuell einfügen?

Eigentlich sollte der Button auf dem Tabellenblatt Zusammenfassung sein. Ist das möglicherweise das Problem?
Antworten Top
#4
Hi,

(15.03.2017, 10:36)Leini schrieb: Muss ich diesen Button in jedes hinzugefügte Tabellenblatt manuell einfügen?

Eigentlich sollte der Button auf dem Tabellenblatt Zusammenfassung sein. Ist das möglicherweise das Problem?

woher weiß Excel dann, welches Blatt kopiert werden soll?
Antworten Top
#5
Ich stelle mir es so vor, dass auf dem Tabellenblatt "Zusammenfassung" ein Button sitzt, der auf das erste vorhandene Berechnungsblatt zugreift und dieses immer wieder - mit allen Formeln und eigenen Makros - kopiert.
Antworten Top
#6
Hi,

(15.03.2017, 13:06)Leini schrieb: Ich stelle mir es so vor, dass auf dem Tabellenblatt "Zusammenfassung" ein Button sitzt, der auf das erste vorhandene Berechnungsblatt zugreift und dieses immer wieder - mit allen Formeln und eigenen Makros - kopiert.

dann schreibe anstelle von
ActiveSheet
in das Makro
Worksheets("der Name des ersten Berechnungsblattes oder der Vorlage")
oder
Sheets("der Name des ersten Berechnungsblattes oder der Vorlage")


Ich weiß grad nicht, welcher Befehl der richtige ist.
Antworten Top
#7
Aber der Name dieses ersten Berechnungsblattes ändert sich ja, weil aus der "Tabelle1" mittels Auswahlfeldern eine Neubennung erfolgt. Das ist ja mein Problem.
Antworten Top
#8
Aber es geht jedenfalls mit "Worksheets"!

Ich müsste wegen der Notwendigkeit, die erstellten Kopien immer wieder umzubenennen, vielleicht eine Kopiervorlage erstellen, die ich ansonsten nicht anrühre und die quasi nur zum Kopieren da ist, oder?

Und dann habe ich noch das Problem, dass, wenn ich beispielsweise eine in der Arbeitsmappe befindliche Grafik dem Makro zuweise, diese eine Fehlermeldung anzeigt, wenn ich das Makro aus einem kopierten Tabellenblatt heraus ausführen will.
Antworten Top
#9
Hi,

(15.03.2017, 13:51)Leini schrieb: Aber der Name dieses ersten Berechnungsblattes ändert sich ja, weil aus der "Tabelle1" mittels Auswahlfeldern eine Neubennung erfolgt. Das ist ja mein Problem.

Woher weiß Excel, welchen Namen das "erste" Berechnungsblatt ist?
Darum wollte ich es ursprünglich mit einem Button auf jeder Tabelle und dem "ActiveSheet" lösen.

Dann erstelle Dir eine Vorlage, die Du "Vorlage" nennst und verwende immer die zum kopieren. Darum habe ich ja im letzten Beitrag "oder der Vorlage geschrieben.

Oder Du könntest vielleicht anstatt Worksheets(Vorlage) dann auch Sheets(2) nehmen, wenn das erste Berechnungsblatt immer das 1. nach der Übersicht ist, also:
Sheets(2).Copy Before:=Sheets(2)
Antworten Top
#10
Hi,

(15.03.2017, 14:12)Leini schrieb: Und dann habe ich noch das Problem, dass, wenn ich beispielsweise eine in der Arbeitsmappe befindliche Grafik dem Makro zuweise, diese eine Fehlermeldung anzeigt, wenn ich das Makro aus einem kopierten Tabellenblatt heraus ausführen will.

das Makro, das der Grafik zugewiesen wird, darf nicht hinter dem Tabellenblatt, sondern muß in einem allgemeinen Modul stehen.

Denn im Aufruf des Makros steht immer auch der Name des Tabellenblattes, bei einem allgemeinen Modul nicht.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste