Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1968to1972
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
Inhaltsverzeichnis

Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen

Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 14:43:47
Mo
Hallo, vor ab gesagt, ich bin mir ziemlich sicher das es einfacher gegangen wäre, aber dafür habe ich nicht die Kenntnisse... :)

Ich habe auf vielen Tabellenblättern unterschiedliche Makros aufgezeichnet und dann so verbunden, das alle durch einen Button ausgelöst werden.

Dieses Makro sieht so aus:
Sheets("Name1").Select
Application.Run "....Name1"
Sheets("Name2").Select
Application.Run "...Name2"
usw.

Mein Problem ist, dass das Makro natürlich nicht ausgeführt werden kann, wenn ich das Tabellenblatt "Name1" zB in "Max Mustermann" umbenennen möchte.

Gibts da eine einfache Lösung?

Danke schon im Vorraus :)

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 15:03:03
{Boris}
Hi,

verwende die Codenamen der Blätter.

VG, Boris
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 15:06:56
daniel
Hi
das geht schon einfacher, es gibt nur mehrere Wege, welcher für dich der bessere ist, lässt auf Grund der geringen Informationsmenge, die wir haben, nicht sagen.
Ein Weg, um von Tabellenblattnamen unabhängig zu sein, wäre das Verwenden der Codenames anstelle der Indexnamen.

jedes Tabellenblatt hat zwei Namen:
a) den Indexnamen, dass ist der der auf dem Reiter steht und den jeder Anwender ändern kann
b) den Code- oder Objektnamen. Diesen findest du im Projektexplorerbaum vor der Klammer (der Indexname steht in der Klammer) bzw in der Eigenschaftsliste an erster Stelle.

der Codenamen kann nur im VBA-Editor in der Eigenschaftsliste geändert werden, dh dieser bleibt normalerweise gleich, auch wenn der Anwender das Blatt umbenennt.
die Ansprache im Code erfolgt dann etwas anders, nicht mehr: Sheets("Name1").Select sondern Tabelle1.Select

Das wäre eine Möglichkeit, den Code unabhängig von eventuellen Namensänderungen auf dem Tabellenblatt zu gestalten.
Gruß Daniel
Anzeige
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 15:17:25
Onur
Jedes Blatt hat einen Anzeigenamen und einen Codenamen, die normalerweise identisch sind, bis Jemand (oder Excel beim Kopieren eines Blattes) den Anzeigenamen ändert.
Den Codenamen jedoch kann man nicht ändern.
Du kannst entweder das Blatt mit dem Anzeigenamen ansprechen:
Sheets("Tabelle1").Select

oder direkt mit dem Codenamen
Tabelle1.Select

was den Vorteil hat, dass der Code auch bei geändertem Blattnamen läuft.
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 16:15:15
Armin
Hallo Miteinander,
auch der CodeName ist änderbar!
T1.Select
Application.Run "....Name1" wird vorwiegend bei Zugriff auf AddINS gebraucht!

Gruß Armin
Anzeige
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 16:39:22
daniel
eine weitere Möglichkeit, das ganze vom Tabellenblattnamen unabhängig zu machen:
1. definiere auf jedem benötigten Tabellenblatt einen Namen, beispielsweise "Name1" mit Referenz auf das Tabellenblatt "Name1" Zelle "A1"
2. verwende diesen Namen, um die jeweiligen Tabellenblätter zu referenzieren: Range("Name1").Worksheet.Select

der Name wird seine Referenz anpassen, wenn du den Tabellenblattnamen änderst, aber der Name des Namens bleibt gleich.
Du darfst nur nicht das Tabellenblatt oder die verwendete Referenzzelle mit .Delete löschen.

Gruß Daniel
AW: Tabellenblatt umbenennen, obwohl sich Makros darauf beziehen
25.03.2024 16:18:48
Onur
Aber nicht durch den EndUser.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige