online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Werner_abc vom 29.10.2020, 12:46 Options

Mehrere Sheets in neue Mappe kopieren

Hallo,

ich habe folgendes Problem, ich habe eine Excel Mappe mit einem Sheet mit Zahlen und Formeln und 18 Sheets mit Diagrammen. Nun würde ich gerne die Zahlenwerte ohne Formeln in eine neue Datei kopieren. Das realisiere ich über folgendes Makro:


Sub ohne Werte()
Dim Neuer_Dateiname
Dim i As Integer
Rem kopiert ganzes Blatt in neue Mappe, mit Formeln
ActiveSheet.Copy
Rem in neuer Mappe alle Zellen kopieren
Cells.Copy
Rem in neuer Mappe A1 wählen
Range("A1").Select
Rem dort nur die Werte einfügen
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rem Kopiermodus beenden (Laufrahmen beenden)
Application.CutCopyMode = False
Rem s.o.
Range("A1").Select
Rem Speichernabfrage
i = MsgBox("SpeichernAktion kann nicht rückgängig gemacht werden!" & Chr(13) & _
"" & Chr(13) & _
"Sicher? Dann OK, sonst ABBRECHEN" & Chr(13), 1 + vbExclamation, "Festwerte in neue Datei speichern")
Rem wenn Abbrechen angeklickt, makroende
If i = 2 Then Exit Sub
Rem SpeichernDialog aufrufen
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
End Sub
[\code]

Nur leider kopiert mir das Makro nur mein Sheet mit den Zahlenwerten und nicht die restlichen Sheets.  

Da die Namen der Sheets das Datum, die sich ständig ändern, enthalten, kann ich es nicht mit
  
[code]Sheets(Array("Zahlen", "Diagramm vom ...", "... " ... )).Select 


machen.

Kann mir jemand einen Tipp geben?


Vielen Dank

Werner


Antwort schreiben

Antwort 1 von coros vom 29.10.2020, 12:59 Options

Hallo Werner,

wenn DU das Makro durch eine Schleife laufen läßt, würden Dir alle Blätter kopiert. Als Beispiel:

Dim iSheet A Integer

For iSheet = 1 to Sheets.Count
'hier dann Deine Befehle zum Kopieren
Next

Mit obiger Schleife werden alle Blätter einer Datei angesprochen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Werner_abc vom 29.10.2020, 16:51 Options

Hallo Oliver,

den Gedanken mit der Schleifen hatte ich auch schon. Jedoch habe ich das Problem, wenn ich die Schleife so einfüge:


Dim iSheet A Integer
For iSheet = 1 to Sheets.Count
ActiveSheet.Copy
Next


Dann erzeugt er mir nur endlos viele Mappen.

Müsste ich nicht die bestehende Mappe akitviern, dort das erste Sheet kopieren und dann in die neue Mappe springen und es dort einfügen. Und das sooft, bis alle Sheets kopiert sind. Und das ohne die Bezeichnungen der einzelen Sheets zu benutzen.

Oder steh ich einfach auf dem Schlauch und ich check ned wie ich deine Schleifen einfügen muss.

Gruß

Werner

Antwort 3 von coros vom 29.10.2020, 17:07 Options

Hallo Werner,

der nachfolgende Code kopiert Dir alle Tabellenblätter aus der Datei "Quelldatei.xls" in die Datei mit dem Namen "Zieldatei.xls". Die Dateinamen musst Du natürlich anpassen.

Dim iSheet As Integer
For iSheet = 1 To Workbooks("Quelldatei.xls").Sheets.Count
Workbooks("Quelldatei.xls").Sheets(iSheet).Copy _
Workbooks("Zieldatei.xls").Sheets(1)
Next


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von nighty vom 29.10.2020, 18:14 Options

hi all :-)

gehe ueber den index der tabellen

gruss nighty

Sheets(Array(1, 3)).Select

Antwort 5 von Werner_abc vom 29.10.2020, 19:20 Options

Hallo,

also ich habe das jetzt sowol über die Schleife als auch über das Array versucht. Ohne Erfolg.

Beim Array markiert mir zwar die angebenen Sheets aber es wird immer nur das Sheet mit den Zahlenwerten kopiert. Woran liegt das?

So sieht momentan der Code aus:


Sheets(Array(1, 4, 7)).Select
ActiveSheet.Copy


Wenn ich die Sheets mit Select auswähle sollte der nächste befehl sie doch alle kopieren, oder?

Antwort 6 von nighty vom 29.10.2020, 19:30 Options

hi all :-))

hier hast du 3 worksheets ueber ein array selectiert

Sheets(Array(1, 4, 7)).Select

warum benutzt du es jetzt nicht ?

ActiveSheet.Copy

es wird mit ActiveSheet das zur zeit active kopiert und das array waere nun sinnlos

daher ersetze ActiveSheet durch Selection

gruss nighty

Ähnliche Themen

werte aus zellen in eine andere Mappe kopieren
raanse  23.04.2007 - 84 Hits - 3 Antworten

täglich Daten in neue Zeile kopieren
chriskuf  01.07.2007 - 92 Hits - 16 Antworten

Daten von Mappe A nach Mappe B kopieren
Tomschi  31.08.2007 - 15 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026