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

Kopieren ausgewählter sheets in neue Map

Kopieren ausgewählter sheets in neue Map
21.08.2022 21:49:32
Michael
Hallo liebes Forum,
ich bitte um Eure Hife, da ich mit einem Projekt nicht weiterkommen.
Die Mappe besteht aus mehreren Sheets, wobei jedes Sheet ein Angebotsblatt für ein Produkt sein soll.
Nun ist der Plan auf der Ersten Seite z.B. via Dropdown eine Auswahl zu treffen, welche Angebotsblätter für die aktuelle Anfrage benötigt werden.
Mein Ansatz ist, irgendwie die benötigten Sheet-Namen in Tabelle 1 z.B. A1 zu bringen --> A1 = "Produkt1", "Produkt2", "Produkt4"
und diese Zelle A1 in folgenden Code einzubinden.
Frage Nr1. ist mein Ansatz ok ? Oder wäre da eine andere Herangehensweise besser geeignet.
Frage Nr2 wie schaffe ich es, dass im das Produktblatt von z.B. Produkt 4 zweimal in die neue Arbeitsmappe bringe ?
Frage Nr3 was mache ich mit dem "Merker" falsch, der aus der Zelle A1 die benötigten "Blätter" (als Text : "Produkt1", "Produkt2", "Produkt4" ) in die Formel bringen soll ?
Lieben Dank und allen einen guten Wochenstart !!!

Sub Kopieren()
Dim wks As Worksheet
Dim produkte As String
produkte = Sheets("Tabelle1").Range("A1").Value
Sheets(Array(produkte)).Copy
For Each wks In ActiveWorkbook.Worksheets
Next
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren ausgewählter sheets in neue Map
22.08.2022 09:23:41
Herbert_Grom
Hi Michael,
mach mal ein Beispiel, wie die Auswahl auf der Ersten Seite aussehen soll. Untereinander, nebeneinander, etc.
Servus
Auswahl geht so; aber...
22.08.2022 09:36:26
MCO
Hallo Michael!
Das Auswahlfeld zu bestücken geht so:

Sub sheets_sammlung()
For i = 2 To Sheets.Count
sheetsammlung = sheetsammlung & Sheets(i).Name & ","
Next i
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=sheetsammlung
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
aber das hilft dir noch nicht so richtig weiter.
Wenn ich es richtig verstehe, willst du das Sheet als Vorlage verwenden und bei der Auswahl die Kopie des Sheets bearbeiten.
Dann brauchst du noch einen Code, den du in das erste Tabellenblatt reinschreibst. Der reagiert nur bei Auswahl der Zellenwerte.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") And Target  "" Then
Sheets(Target.Text).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Application.InputBox("neuer Name", "neuer Name", "Tach, Ich bin der Neue")
End If
End Sub
Probier es mal aus
Gruß, MCO
Anzeige
AW: Kopieren ausgewählter sheets in neue Map
22.08.2022 10:27:54
Michael
Hallo Zusammen,
ich habe ein Beispiel erstellt mit dem meine Idee evtl. klarer wird.
In Tabelle 1 solle nur die Auswahl getroffen werden, welche nachfolgenden Blätter (Produkte) in einer gesonderten Arbeitsmappe neu aufgemacht werden.
( Es gibt 35 Produkte, jedoch werden im Angebot nur jeweils 2 oder 3 Produkte benötigt. Diese Produktblätter werden jedoch stellen weise mehrfach benötigt.
In der hochgeladenen Datei wird z.B. Produktblatt1 1x , Produktblatt2 2x und Produktblatt4 1x benötigt.
Ich habe versucht die Bezeichnung in Zelle A1 einzutragen und als Merker in die Formel einzusetzen. Daran verzweifele ich aber seit Tagen.
Wenn ich die Bezeichnungen der Produktblätter direkt in Formel schreibe , gehts... (bis auf die mehrefache Ausgabe...)

Sub Kopieren()
Dim wks As Worksheet
Sheets(Array("Produkt1", "Produkt2", "Produkt4")).Copy
For Each wks In ActiveWorkbook.Worksheets
Next
End Sub

Vielen Dank für Eure Hilfe
Anzeige
AW: Kopieren ausgewählter sheets in neue Map
22.08.2022 13:02:27
MCO
Hallo Michael!
Die Krücke über die Formel hab ich mal komplett ignoriert.
Dieses Makro macht, was es soll:

Sub Kopieren()
Dim wks As Worksheet
Dim new_wb As Workbook
Dim Bereich As Variant
Dim z As Long, bl As Long
Set Beginn = Range("C6")
Set Ende = Beginn.End(xlDown).Offset(0, 1)
Bereich = Range(Beginn, Ende)
Set new_wb = Application.Workbooks().Add
For bl = 1 To UBound(Bereich)
For z = 1 To Bereich(bl, 2)
ThisWorkbook.Sheets(Bereich(bl, 1)).Copy , new_wb.Sheets(Sheets.Count)
Next z
Next bl
Application.DisplayAlerts = False
new_wb.Sheets(1).Delete
Application.DisplayAlerts = True
Application.Dialogs(xlDialogSaveAs).Show
End Sub
Schreib mal, ob du das auch so siehst.
Gruß, MCO
Anzeige
AW: Kopieren ausgewählter sheets in neue Map
22.08.2022 13:15:22
Michael
Super geil !
Vielen lieben Dank für Deine schnelle Hilfe !
Das hätte ich niemals so hinbekommen und es funktioniert perfekt.
Du bist mein Held des Tages :-)

Dafür mach ich´s :-) owt
22.08.2022 13:17:04
MCO
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige