Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
748to752
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
748to752
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Code zum Exportieren von 365 Tabellenblättern?

VBA Code zum Exportieren von 365 Tabellenblättern?
25.03.2006 20:29:19
365
Hallo Leute,
ich hätte da mal eine Frage zum Exportieren von Tabellenblättern in eine neue Datei. Mit nachfolgendem Makro exportiere ich 365 Tabellenblätter.


Sub Export()
Dim Wiederholungen As Integer, _
Pfad As String, Dateiname As String, Speichername As String
Application.ScreenUpdating = False
Pfad = Mid(ThisWorkbook.Path, 1, Len(ThisWorkbook.Path) - 8) & "Jahresdaten\"
Dateiname = ThisWorkbook.Name
Speichername = Format(Sheets(1).Name, "yyyy") & ".xls"
For Wiederholungen = 1 To Worksheets.Count
Sheets(Wiederholungen).Visible = True
Next
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Pfad & Speichername
For Wiederholungen = Workbooks(Dateiname).Worksheets.Count - 5 To 1 Step -1
Workbooks(Dateiname).Sheets(Wiederholungen).Move After:=Workbooks(Speichername).Sheets(1)
Next
Application.DisplayAlerts = False
Workbooks(Speichername).Sheets(1).Delete
Application.DisplayAlerts = True
With Workbooks(Speichername)
.Save
.Close
End With
End Sub


Meine Frage, hat jemand noch eine andere Variante die menge Tabellenblätter in eine andere Datei zu kopieren, denn mit obigem Makro dauert es doch enorm lange. Oder kann man an dem Makro etwas ändern, damit das Kopieren etwas beschleunigt wird?
Ich bin für jede Hilfe dankbar. Schon mal im Voraus besten dank,
Oliver S.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 20:41:30
365
Hallo
du hast in der aktiven Mappe 365 Blätter, und möchtest jede Tabelle als einzelne Mappe speichern.
Gruss Rainer
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 20:45:44
365
Hallo Rainer,
danke Dir erst mal für Deine Antwort. Ja, ich habe in der aktivien Mappe 365 Tabellenblätter, die ich alle in eine neue Datei übertragen möchte, so dass dann die neue Datei die 365 Tabellenblätter beinhaltet.
Der Hintergrund, ich erstelle gerade einen Jahreskalender. Für jeden Tag wird ein Blatt angelegt. Wenn ich nun ein neues Jahr erstellen möchte, sollen die alten 365 Tabellenblätter in eine neue Datei ausgelagert werden.
Gruß,
Oliver S.
Anzeige
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 20:47:38
365
Hallo
Sorry, entschuldige die blöde Frage, aber warum speicherst du deine Mappe nicht unter einem neuem Namen für das neue Jahr, und löscht dort die alten Blätter.
Das geht wesentlich schneller und einfacher.
Gruss Rainer
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 21:01:03
365
Hi Rainer,
die Datei unter einem neuen Namen abzuspeichern und löschen der alten Daten geht leider nicht, da diese Datei auch noch andere Sachen enthält, die dann durch das Umbenennen nicht mehr funktionieren würden. Außerdem sollte die neue Datei keine Makros, sondern nur die Tagesblätter beinhalten.
Gruß,
Oliver S.
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 21:31:53
365
Hallo
"...die dann durch das Umbenennen nicht mehr funktionieren würden...."
Kann ich mir nicht vorstellen.
Da du die Tabellen exportierst haben sie ja auch keinen Bezug mehr, und sind in einer anderen Mappe mit einem anderen Namen, und den VBA-Code kannst du löschen.
'---------------------------------------------
'Von GraFri
' Code in das erste Tabellenblatt (nach "DieseArbeitsmappe"), da der Löschvorgang
' in der Richtung "letzten Tabelle" zur "ersten Tabelle verläuft". Zuerst "Module",
' dann "Userformen" und zuletzt "Ereignisprozeturen (Code in einem Tabellenblatt) löschen"
'Diese Prozedur zum Löschen aufrufen
Sub Alles_löschen()
    Call Lösche_Module
    Call Lösche_Userformen
    Call Lösche_Ereignisprozeduren
End Sub

Sub Lösche_Module()
    'Löscht Module:
    For n = ThisWorkbook.VBProject.VBComponents.count To 1 Step -1
        If ThisWorkbook.VBProject.VBComponents(n).Type = 1 Then
            ThisWorkbook.VBProject.VBComponents(n).Collection.Remove ThisWorkbook.VBProject.VBComponents(n)
        End If
    Next
End Sub

Sub Lösche_Userformen()
    'Löscht Userforms:
    For n = ThisWorkbook.VBProject.VBComponents.count To 1 Step -1
        If ThisWorkbook.VBProject.VBComponents(n).Type = 3 Then
            ThisWorkbook.VBProject.VBComponents(n).Collection.Remove ThisWorkbook.VBProject.VBComponents(n)
        End If
    Next
End Sub

Sub Lösche_Ereignisprozeduren()
    'Löscht Ereignisprozeduren:
    For n = ThisWorkbook.VBProject.VBComponents.count To 1 Step -1
        For i = 1 To ThisWorkbook.VBProject.VBComponents(n).CodeModule.CountOfLines
            If ThisWorkbook.VBProject.VBComponents(n).Type <> 1 And ThisWorkbook.VBProject.VBComponents(n).Type <> 3 Then _
                ThisWorkbook.VBProject.VBComponents(n).CodeModule.DeleteLines 1
        Next
    Next
End Sub
'-------------------------------------------------------


Sorry, aber mit deinem ursprünglichen Code sehe ich keine Verbesserungsmöglichkeit.
Gruss Rainer
Anzeige
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 21:38:02
365
Hallo Rainer,
...hmmm ich werde mir das mal durch den Kopf gehen lassen, mit dem Löschen der VBA Code. Trotzdem besten Dank für Deine Unterstützung und noch einen schönen Abend. Ich werde aber den Beitrag noch mal als offen deklarieren, eventuell hat ja noch jemand einen anderen kreativen Vorschlag.
Danke noch mal,
Oliver S.
AW: VBA Code zum Exportieren von 365 Tabellenblätt
365
Hallo Oliver,
meinst Du so?:
Sub Speichern_In_neue_Datei()
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Copy
Application.Dialogs(xlDialogSaveAs).Show "D:\Dein_Verzeichnis\oliver"
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
Gruß
Hans
Anzeige
AW: VBA Code zum Exportieren von 365 Tabellenblätt
25.03.2006 21:10:59
365
Hallo Hans,
auch Dir danke für die Antwort, aber leider meine ich das nicht so. Wie das gemeint war habe ich in der vorigen Antwort noch mal beschrieben.
Gruß,
Oliver S.
AW: was für "andere Sachen?" o.T.
HansHei

189 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige