Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
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

Makro kopiertes Tabellenblatt umbenennen

Makro kopiertes Tabellenblatt umbenennen
17.10.2020 15:38:43
Manuela
Hallo zusammen,
ich habe ein Makro gefunden, dass eine bereits vorhandene Tabelle kopiert, wenn in bestimmten Zellen ein Wert (bei mir wird es ein Name sein) eingetragen wird. Zusätzlich, wird das kopierte Tabellenblatt in dem Namen umbenannt, der in die jeweilige Zelle eingetragen wurde. Jetzt möchte ich das Makro aber so umwandeln, dass das Tabellenblatt wie gehabt kopiert wird, wenn in bestimmten Zellen etwas eingetragen wird, der Name des Tabellenblattes aber nicht in der Zelle steht, wo etwas eingetragen wurde, sondern 8 Spalten (Spalte L) weiter. Wichtig wäre auch noch zu erwähnen, dass in der Zelle, wo der Name des Tabellenblattes steht, eine Formel hinterlegt ist.
Im unten aufgeführten Makro wird abgeglichen, ob in Zeile 1 und Spalte E oder in Zeile 2 und Spalte E etc. etwas eingetragen wurde. Wenn ja, dann wird das kopierte Tabellenblatt in dem Namen umbenannt, der in Zeile 1 und Spalte E oder Zeile 2 und Spalte E etc. eingetragen wurde. Der tatsächliche Name würde aber bspw. in Zeile 1 und Spalte L oder in Zeile 2 und Spalte L etc. stehen. Allerdings ist hier eine Formel hinterlegt.
Wie kann man das unten aufgeführte Makro abändern, dass ein Tabellenblatt kopiert wird, wenn in Zeile 1 bzw. 2 und Spalte E etwas eingetragen wird, der Tabellenblattname aber in Zeile 1 bzw. 2 und Spalte L steht? Mein Problem ist, dass die Anwender, einen Namen mit dem Sonderzeichen Schrägstrich ("/") in Zeile 1 bzw. 2 und Spalte E eintragen können, allerdings dürfen Tabellenblattnamen keine Sonderzeichen wie bspw. ein Schrägstrich enthalten. Deswegen habe ich ein paar Spalten weiter eine Formel hinterlegt, der den Namen ohne des Schrägstrichs wiedergibt. Stattdessen wird dazwischen ein Leerzeichen eingefügt.
Makro:
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Row = 1 And Target.Column = 5 _
Or Target.Row = 2 And Target.Column = 5 _
Or Target.Row = 3 And Target.Column = 5 _
And Target.Cells.Count = 1 _
And Target.Range("a1").Text  "" Then
If MsgBox("Tabellenblatt mit Name """ & Target.Text & """ anlegen ?", _
vbYesNo, "Blatt Vorlage kopieren") = vbYes Then
Worksheets("Kalkulationsvorlage").Copy before:=Worksheets("Kalkulationsvorlage")
ActiveSheet.Name = Target.Value
End If
End If
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 15:46:15
Daniel
Hi
ActiveSheet.Name = Target.Offset(0, ein paar Spalten als Zahl).Value
Gruß Daniel
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 16:09:41
Manuela
Hallo Daniel,
vielen Dank für deine schnelle Antwort. Ich weiß leider nicht an welcher Stelle ich den Code eintragen muss. Außerdem betrifft es mehrere Zellen in denen der Name stehen könnte (Zeile 1 + Spalte 8/Zeile 2 + Spalte 8 etc.).
V.G. Manuela
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 16:42:37
Daniel
Naja, da wo es bisher auch steht, halt ohne das .Offset.
Du musst das mit dem .Offset einfach in deinem bisherigen Code ergänzen.
(Irgendwie erinnert deine Frage an folgende Situation:
1. Frage: wie fahre ich am besten mit dem Auto von A nach B?
2. Frage: wo war nochmal der erste Gang?)
Target ist immer die Zelle, die geändert wurde, die kann in Zeile 1 oder in Zeile 2 stehen.
.Offset springt dann von dieser Zelle um die genannte Spaltenanzahl nach rechts.
Gruß Daniel
Anzeige
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 17:01:19
Manuela
Hallo Daniel,
vielen Dank für deine Antwort. Den ersten Gang finde ich, aber ich weiß nicht wie ich von A nach B komme ;-). Ich kenne mich mit Makros nicht sehr gut aus. Makros aufzeichnen kann ich und ein paar kleinere Anpassungen vornehmen, das war es aber auch schon. Mein Makro habe ich im Netz gefunden, ich selber habe es gar nicht geschrieben, deswegen, kann der Eindruck entstehen, dass ich weiß wie ich von A nach B komme, aber den ersten Gang nicht finde ;-). Vielleicht kam das nicht richtig verständlich rüber, dass ich Anfängerin bin. Zwischenzeitlich habe ich noch etwas im Internet geforscht. Wenn ich es richtig verstanden habe, gibt es aber noch ein weiteres "Problem". Da das Makro ausgeführt werden soll, wenn sich der Wert in einer Zelle ändert, wo eine Formel hinterlegt ist, muss man scheinbar mit Sub Worksheet_Calculate () arbeiten. Sub Worksheet_Change(ByVal Target As Range) tritt wohl nur bei manueller Änderung einer Zelle ein. Und jetzt bin ich vollkommen raus...
V.G. Manuela
Anzeige
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 17:15:21
Daniel
Naja, auch wenn man Code im Internet findet, sollte man diese verstehen, bevor man ihn verwendet.
Du bist doch hoffentlich in der Lage, die Programmzeile zu finden, die mit "ActiveSheet.Name = " beginnt und wie angegeben zu ergänzen.
Deiner Beschreibung nach gibt der Anwender neun Namen in E1 oder E2 ein und die Formel steht ein paar Spalten weiter.
Wenn du dann E1 und E2 überwachst, ist Change doch das richtige Event.
Ansonsten solltest du besser deine Datei hier hochladen und beschreiben, was du erreichen willst.
Gruß Daniel
AW: Makro kopiertes Tabellenblatt umbenennen
17.10.2020 18:29:09
Manuela
Hallo,
eine Beispiel Datei habe ich jetzt hochgeladen.
https://www.herber.de/bbs/user/140939.xlsm
Vielen Dank für die Hilfe.
Anzeige
AW: Makro kopiertes Tabellenblatt umbenennen
18.10.2020 00:20:28
Daniel
Das funktioniert schon so wie ich geschrieben habe.
Man muss nur aufgrund der Verbundzellen D11:F11 mit dem Offset aufpassen.
Das ist wegen dem Zellverbund nicht +3, wie der Sprung von D auf G vermutet lassen würde, sondern nur +1.
ändere also die Zeile
ActiveSheet.Name = Target.Value
So ab
ActiveSheet.Name = Target.Offset(0, 1).Value
Gruß Daniel
AW: Makro kopiertes Tabellenblatt umbenennen
18.10.2020 09:59:57
Manuela
Hallo Daniel,
vielen lieben Dank für deine Hilfe und Geduld! Es funktioniert.
V.G. Manuela

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige