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

Worksheets automatisch kopieren und benennen

Worksheets automatisch kopieren und benennen
Christian
Hallo,
ein Kollege hat mir dieses Forum empfohlen, weil er sehr gute Erfahrungen gemacht hat.
Ich beschäftige mich seit längerem mal wieder mit excel und habe dabei gleich ein paar Probleme. Trotz Internetrecherche kam ich leider bei folgender Fragen nicht wirklich weiter:
1.
Ich habe eine Liste von Firmennamen (bzw. Kürzeln). Für jeden dieser Firmennamen soll nun ein Arbeitsblatt erstellt werden, welches sich an einer generischen Vorlage ausrichtet (Formeln die sich dann auf das Firmenkürzel beziehen). Füge ich also eine neue Firma in die Liste auf Tabellen Blatt ein, möchte ich, dass hierfür ein neues Tabellenblatt erzeugt wird.
2.
Ist es möglich, eine Formel zu erstellen, die mir automatisch den Wert einer Zelle auf dem jeweils passenden Worksheet ausgibt? Zum besseren Verständnis:
In Spalte A ist die Liste der Firmenkürzel, welche ja den Worksheetnamen entsprechen. Nun würde ich gerne in Spalte B immer den Wert eine bestimmten Zelle, z.B. C1, von dem entsprechenden Worksheet anzeigen lassen. Ich habe es mit der Formel =A1!$C$1 versucht, wobei A1 das Kürzel und somit auch den Namen beinhaltet. Das funktioniert aber leider nicht...
Vielen Dank im Voraus,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Worksheets automatisch kopieren und benennen
13.07.2012 12:10:35
Detlef
Christian,
der folgende Textauszug liest den Zellwert aus, prüft, ob ein Blatt mit diesem Namen bereits existiert, wenn nicht, wird ein neues Blatt aus der Vorlage "Kalk_Template" erstellt und ans Ende gestellt.
posValue = ActiveCell.Value
For wks = 1 To Sheets.Count
If Sheets(wks).Name = posValue Then
MsgBox "Dieses Blatt besteht bereits.": Exit Sub
End If
Next
Sheets("Kalk_Template").Visible = True
Sheets("Kalk_Template").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = posValue
Diese Zeile fügt in die entsprechende Zelle auf dem ursprünglichen Blatt den Verweis auf C1 ein
Cells("hier mußt Du die Zielzelle eingeben").Formula = "='" & posValue & "'!C1"
Detlef
Anzeige
AW: Worksheets automatisch kopieren und benennen
13.07.2012 14:01:01
Christian
Hallo Detlef,
ich bin begeistert! Vielen Dank für die schnelle Hilfe! Der erste Teil funktioniert wunderbar und genau wie ich es mir vorgestellt habe.
Zum zweiten Teil hätte ich noch eine kleine Frage:
Cells("hier mußt Du die Zielzelle eingeben").Formula = "='" & posValue & "'!C1"
Wie schaffe ich es, dass die Zielzelle immer relativ zu der Zelle ist, in der der posValue steht? Also relativ zu der Zelle, die aktiv ist, wenn ich das Makro ausführe? Wenn ich das Makro also z.B. in A1 ausführe sollte der Wert aus '" & posValue & "'!C1" in D1 angezeigt werden. Die Spalten bleiben hierbei Konstant, lediglich die Reihen ändern sich.
Vielen Dank für die Hilfe schon mal!
Christian
Anzeige
AW: Worksheets automatisch kopieren und benennen
13.07.2012 14:41:34
Christian
Bzw. ist das irgendwie vom restlichen Macro losgelöst per Formel zu erreichen?
AW: Worksheets automatisch kopieren und benennen
13.07.2012 22:46:20
Detlef
Christian,
Cells erwartet Positionseingaben in der Reihenfolge Zeile,Spalte. Du kannst also zum Beispiel hartverdrahten mit Cells(1,4), um D1 zu erreichen. Du kannst besser abhängig von der aktiven Zelle schreiben Cells(ActiveCell.Row , ActiveCell.Column+3). Damit bist Du immer in der richtigen Zeile und schreibst um 3 Spalten nach rechts.
Detlef

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige