Mit VBA Arbeitsblätter kopieren

Betrifft: Mit VBA Arbeitsblätter kopieren
von: Mike
Geschrieben am: 03.10.2020 20:06:43
Hallo Zusammen,
eine Frage ich habe einen Code der Arbeitsblätter kopiert. Das Problem ist, dass dabei alle bedingten Formatierungen und Dropdowns flöten gehen.
Würde sich diese auch mit kopieren lassen?
Anbei der Code:
Sub Create_Bottom_Up_Templates()
Dim Qw As Worksheet 'Quelle
Dim Zw As Worksheet 'Ziel
Dim Nw As Workbook 'neue
Dim Z
Dim strOrdnerZiel, strDatum As String
strDatum = InputBox("Datum für zu erstellende Dateien", "Vorlagen erstellen", _
Format(Date, "YYYYMMDD"))
If strDatum = "" Then Exit Sub
strOrdnerZiel = "C:\Users\Nils Blasche\Desktop\Bottomup Templates\New Bottom Up Templates\" _
_
& strDatum _
& "_Market Estimations_RegX_"
Set Qw = ThisWorkbook.Worksheets("Input data")
For Each Z In Qw.Range("A2", Qw.Range("A1").End(xlDown)).Cells
ThisWorkbook.Sheets(Array("Infrastructure", "Superstructure", "Summary", _
"Manipulation Faktor", "Data_1", "Data_2", "Config")).Copy
Set Nw = ActiveWorkbook
Set Zw = Nw.Worksheets("Infrastructure")
Zw.Range("B3") = Z.Offset(0, 3).Value '[Sales Region], spalte 4
Zw.Range("B4") = Z.Offset(0, 2).Value '[Region], Spalte 3
Zw.Range("B5") = Z.Offset(0, 1).Value '[Country], Spalte 2
Zw.Range("C5") = Z.Value '[Country Code], Spalte 1
Select Case Z.Offset(0, 1).Value
Case "Germany"
Nw.SaveAs _
Filename:=strOrdnerZiel & Z.Offset(0, 1).Value & "_" & Z.Offset(0, 2).Value _
& ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Case Else
Nw.SaveAs _
Filename:=strOrdnerZiel & Z.Offset(0, 1).Value & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Select
Nw.Close savechanges:=False
Next
End Sub
VG
MIKE

Betrifft: warum ein neuer Thread? ...
von: ralf_b
Geschrieben am: 03.10.2020 21:23:46
... und die Panik ist nun sicher auch etwas weniger. Nils, was passt dir denn an meinem Lösungsvorschlag von gestern nicht? Wie du siehst hast du mit deiner Kopiererei das nächste Problem.

Betrifft: AW: warum ein neuer Thread? ...
von: Mike
Geschrieben am: 03.10.2020 21:34:57
Ja... ich hatte bei deinem Code immer einen Fehler bekommen, an dieser stelle:
newName = strOrdnerZiel & inputdata(i, 2).xlsx ' neuer name der Datei definieren
Woran liegt das?

Betrifft: AW: warum ein neuer Thread? ...
von: ralf_b
Geschrieben am: 03.10.2020 21:43:54
1. Welcher Fehler? Ich bin kein Hellseher. Aber wenn du das Makro ein zweites Mal laufen läßt und die Datei bereits existiert, kanns Probleme geben. Bedenke das diese Makros nicht so programiert sind um auf alle möglichen Problemchen eine Antwort ,spricht Fehlerbehandlung, bereitstellen.

Betrifft: AW: warum ein neuer Thread? ...
von: Mike
Geschrieben am: 03.10.2020 21:51:57
Ok dann verstehe ich vielleicht nicht was der teil macht...
Es erscheint Laufzeitfehler 424, Objekt erforderlich

Betrifft: anpassung code ...
von: ralf_b
Geschrieben am: 03.10.2020 22:05:55
newName = strOrdnerZiel & inputdata(i, 2)
& ".xlsx"

Betrifft: AW: anpassung code ...
von: Mike
Geschrieben am: 03.10.2020 22:13:52
hmm neues problem, nun wird diese Zeile gelb markiert und alleine input data ist in der neuen datei
.Worksheets(ZZ(0)).Range("B3") = inputdata(i, 4) '[Sales Region], spalte 4

Betrifft: AW: anpassung code ...
von: ralf_b
Geschrieben am: 03.10.2020 22:25:31
ich habe gerade deine vorlagen bei mir generiert. Siehe bild. die werte von inputdata sind übertragen worden. Ich bin dann raus, da ich offensichtlich nicht die richtigen Informationen vorliegen habe. Schade wenn man für die Mülltonne arbeitet.

Betrifft: und übrigens
von: ralf_b
Geschrieben am: 03.10.2020 22:11:06
hatte ich dir das gestern schon geschrieben
Betrifft: AW: der code ist unvollständig owt
von: ralf_b
Geschrieben am: 02.10.2020 17:22:32
oh mensch tatsächlich inputdata(i, 2) & ".xlsx"

Betrifft: AW: und übrigens
von: Mike
Geschrieben am: 03.10.2020 22:15:09
das hatte ich übersehen

Betrifft: AW: und übrigens
von: Mike
Geschrieben am: 03.10.2020 22:48:47
Um genau zu sein Laufzeitfehler 9

Betrifft: AW: und übrigens
von: Mike
Geschrieben am: 04.10.2020 09:56:41
Hallo Ralf,
wie gesagt ich bin kein VBA Kenner und tue mein bestes. Ich mache auch sicher Fehler,
dies ist dein Code welchen ich angepasst habe, was mache ich denn falsch ?
ich möchte auch nicht, dass du für die Mülltonne arbeitest

Betrifft: AW: und übrigens
von: ralf_b
Geschrieben am: 04.10.2020 12:20:51
dann schick mir mal deine Datei original ,bzw mit deinen original Pfadangaben.
Solltest du meine Variante mit der separaten datei nutzen , dann auch deine Vorlagendatei. Sollte ich den Fehler nicht reproduzieren können, kann ich dir nicht weiterhelfen.

Betrifft: AW: und übrigens
von: Mike
Geschrieben am: 04.10.2020 12:31:54
Hi Ralf,
Soll ich es dir per Mail schicken ?

Betrifft: AW: und übrigens
von: ralf_b
Geschrieben am: 04.10.2020 12:47:22
email findest du in meinem profil