Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife mit speichern

Forumthread: Schleife mit speichern

Schleife mit speichern
18.02.2016 14:08:05
jana
Hallo zusammen,
ich möchte gerne die Blätter meiner Arbeitsmappe speichern, sofern die Namen dieser Blätter mit bestimmten Namen übereinstimmen. Leider klappt mein Code nicht:
Sub speicher()
dim current as worksheet
dim str as string
dim I as integer
For Each current In Worksheets
Sheets("Duplikat").Activate
For I = 1 To Sheets("Duplikat").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("Duplikat").Range("A" & I).Value = current.name Then
current.Activate
current.Copy
Const LW = "D:\"
Const Pfad = "D:\Users\Name\Desktop\Qualitätsprüfung"
str = current.name
ChDrive LW
ChDir Pfad
ActiveWorkbook.SaveAs Filename:=str, FileFormat:=xlOpenXMLWorkbook
End If
Next I
Next current
End Sub
()
kann mir jemand weiter helfen, wo der Fehler liegen könnte? Vielen Dank im Voraus. Viele Grüße
Jana

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife mit speichern
18.02.2016 14:13:19
otto
Hi,
so?
ActiveWorkbook.SaveAs Filename:=(LW & Pfad & str), FileFormat:=xlOpenXMLWorkbook
otto

AW: Schleife mit speichern
18.02.2016 14:19:31
Michael
Hallo,
Den Punkt des anderen Helfers hatte ich übersehen, aber ich meine, dass am Ende des Pfadnamens noch ein \ fehlt.
Mfg

AW: Schleife mit speichern
18.02.2016 14:25:52
jana
Hallo Otto,
danke für die Antwort! Der Pfad ist in Ordnung. Das Speichern des ersten Blattes hatte geklappt. Das Problem liegt an der Schleife. Die Schleife läuft nicht weiter. Es wird nur das erste Blatt gespeichert und die anderen dann nicht mehr. Viele Grüße, Jana

Anzeige
AW: Schleife mit speichern
18.02.2016 15:21:48
otto
Hi,
schau mal ob dir das hilft:
https://support.microsoft.com/de-de/kb/142126
otto

AW: Schleife mit speichern
18.02.2016 16:27:47
Michael
Hallo,
Es gibt dabei recht viele verwirrungen mit den Dateinamen. Als nächsten Schritt könnte folgendes dienen:
Sub mySave()
Dim ws as worksheet
Dim wb as workbook
Chdir "c:\temp"
MyOri = thisworkbook.name
For each ws in worksheets
MyWb = ws.name
Ws.activate
Ws.copy
For each wb in workbooks
If wb.name  myori then wbNew = wb.name
Next wb
Workbooks(wbNew).saveas filename:= mywb, fileformat=xlNormal
Workbooks(myOri).activate
Workbooks(myWb & ".xls").close
Next
End Sub

Anzeige
AW: 2. Variante
18.02.2016 17:55:52
Michael
Hallo,
Neuer Versuch und etwas kürzer:
Sub saveTab()
Dim WB as workbook
Dim WS as worksheet
ChDir  "c:\temp"
Set wb = thisworkbook
For each ws in wb.sheets
XFile = curdir & "\" & ws.name & "xlsx"
Ws.copy
Activeworkbook.saveas xFile, fileformat=51
Activeworkbook.close false
Next ws
End Sub
Der Makro speichert alle Sheets einzeln nach /temp.
Mfg
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige