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.

Neue tabellenblätter über VBA erstellen
#1
Hallo zusammen,

Ich habe eine Liste von Namen auf einem Übersichtsblatt welche die Namen der Arbeitsblätter enthält die in meiner Mappe erstellt werden sollen. Diese sollen anhand einer Vorlage angelegt werden. Das klappt auch alles.

Der Code:

Sub NeuesBlatt()
Dim i, z As Double
ActiveSheet.Range("A1:A15").End(xlDown).Offset(1, 0).Select
z = ActiveCell.Row
z = z - 1
For i = 1 To z
Sheets("Nur KW").Copy after:=Sheets(1)
ActiveSheet.Name = Sheets(1).Cells(z, 1).Value
z = z - 1
Next i
End Sub

Meine Vorlage heißt "Nur KW" und befindet sich ebenfalls in der Mappe. Wie kann ich den Code so anpassen dass dieses Blatt nicht zwangsläufig in der Mappe enthalten sein muss? Also im Code die ursprüngliche Mappe der Vorlage angeben oder den Dateipfad? Scheitere da leider gerade an der Umsetzung.

Vielen Dank für eure Hilfe,

LG Johannes
Antworten Top
#2
Hallo,

ungetestet:
Code:
Dim wb As Workbook
Set wb = Workbooks.Open("Pfad und Dateiname zur Vorlagendatei")
wb.Sheets("Nur KW").Copy after:=Sheets(1)
wb.Close False
Gruß
Michael
Antworten Top
#3
Hallo,

Vielen Dank für deine Antwort. Auf Anhieb hab ich es nicht hinbekommen. Wo soll ich dass denn in meinen Code integrieren? Meine VBA Kenntnisse sind sehr bescheiden, versuche mich gerade in das Programm einzuarbeiten.
Ich habe es jetzt vor:
        Sheets("Nur KW").Copy after:=Sheets(1)
eingefügt.

Für den Pfad habe ich den Pfad \ Dateiname eingesetzt. Ist das korrekt?

Vielen dank für deine Hilfe und schönes Wochenende ;)

LG Johannes
Antworten Top
#4
Versuch es mal so:
Code:
Sub NeuesBlatt()
Dim i, z As Double
ActiveSheet.Range("A1:A15").End(xlDown).Offset(1, 0).Select
z = ActiveCell.Row
z = z - 1
Dim wb As Workbook
Set wb = Workbooks.Open("Pfad und Dateiname zur Vorlagendatei")
For i = 1 To z
wb.Sheets("Nur KW").Copy after:=Sheets(1)
ActiveSheet.Name = Sheets(1).Cells(z, 1).Value
z = z - 1
Next i
wb.Close False
set wb = nothing
End Sub
Gruß
Michael
Antworten Top
#5
Hallo,

Erstmal vielen Dank für die Antwort. Ich kam leider erst jetzt dazu den Code zu testen.
Wenn ich ihn so kopiere und den Dateipfad einfüge, öffnet sich bei ausführen des Codes jedoch einfach ein neues Fenster mit der Datei meiner Vorlage. die Vorlage öffnet sich nur einmal und nicht anhand der erstellten Liste (A1:A15).

LG Johannes
Antworten Top


Gehe zu:


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