Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblatt in Datei exportieren

Tabellenblatt in Datei exportieren
27.07.2017 19:28:01
VBA-Novize
Hallo zusammen,
ich möchte in einer Excel-Datei das 3. Tabellenblatt mit Werten, also ohne Formeln, per VBA in eine Datei exportieren. Name wie Ursprungsdatei, nur noch mit vorangestelltem Datum (Pfad wie Ursprungsdatei).
Kann mir hier bitte jemand helfen?
Vielen Dank.
Grüße,
Michael
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in Datei exportieren
27.07.2017 19:49:22
fcs
Hallo Michael,
hir ein entsprechendes Makro.
Gruß
Franz
'Erstellt unter Windows Vista/MS Office 2010
Sub Blatt3_Copy_in_Mappe()
Dim wkbAktiv As Workbook
Dim wks As Worksheet
Dim wksCopy As Worksheet
Dim wkbCopy As Workbook
Set wkbAktiv = ActiveWorkbook
Set wks = wkbAktiv.Worksheets(3)
wks.Copy before:=wkbAktiv.Sheets(1)
Set wksCopy = ActiveSheet
With wksCopy
.UsedRange.Copy
.UsedRange.PasteSpecial Paste:=xlPasteValues
Range("A1").Select
.Move
Set wkbCopy = ActiveWorkbook
wkbCopy.Sheets(1).Name = wks.Name
End With
wkbCopy.SaveAs Filename:=wkbAktiv.Path & Application.PathSeparator _
& Format(Date, "YYYY-MM-DD ") & wkbAktiv.Name, _
FileFormat:=wkbAktiv.FileFormat, addtomru:=True
wkbCopy.Close savechanges:=True
End Sub

Anzeige
AW: Tabellenblatt in Datei exportieren
27.07.2017 19:56:57
VBA-Novize
Hallo Franz,
vielen Dank. hab jetzt leider noch das Problem, dass das Tabellenblatt geschützt ist.
Habe das in einem anderen Fall in einem komplexeren Makro so gelöst:
Option Explicit
Sub Save_Tabelle()
Dim n&
Dim SavePath$, sExtention$, sSaveFullPath$
Dim intKill%, intFormat%, booSave As Boolean
Dim varAusnahme
Const strSpalte0$ = "AM"
Const strZeile0$ = "23"
Const strPass$ = "Kosmos"
'Tabelle anpassen (Deckblatt)
varAusnahme = Array("Def_Umsatzsplit")
With ThisWorkbook
intFormat = .FileFormat
SavePath = .Path
SavePath = SavePath & IIf(Right$(SavePath, 1) "\", "\", "")
ChDrive SavePath
ChDir SavePath
SavePath = SavePath & Format(Date, "dd_mm_yyyy_")
sExtention = Right$(.Name, Len(.Name) - InStrRev(.Name, ".") + 1)
On Error GoTo ErrorHandler:
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For n = 3 To .Sheets.Count
If .Sheets(n).Visible = True Then
If Not IsNumeric(Application.Match(.Sheets(n).Name, varAusnahme, 0)) Then
sSaveFullPath = SavePath & .Sheets(n).Name & sExtention
If Dir(sSaveFullPath, vbNormal) "" Then
If intKill = 0 Then
If MsgBox("Datei schon vorhanden. Diese löschen?", _
vbQuestion + vbYesNo) = vbYes Then
Kill sSaveFullPath: DoEvents
intKill = 1
booSave = True
Else: intKill = 2: booSave = False
End If
ElseIf intKill = 1 Then
Kill sSaveFullPath: DoEvents
booSave = True
End If
Else
booSave = True
End If
If booSave Then
Application.StatusBar = "Bearbeite: '" & .Sheets(n).Name & "'"
DoEvents
.Sheets(n).Copy
With ActiveWorkbook
.Sheets(1).Unprotect strPass
.Sheets(1).UsedRange.Value = .Sheets(1).UsedRange.Value
Call Loesche_0_AW(.Sheets(1), strZeile0, CStr(.Sheets(1).Columns(strSpalte0).Column))
.Sheets(1).Protect strPass
.SaveAs sSaveFullPath, intFormat
.Close False
End With
End If
End If
End If
Kannst Du mir hier helfen, die entsprechenden Zeilen in das von Dir erstellte Makro einzufügen?
Vielen Dank!
Grüße,
Michael
Anzeige
AW: Tabellenblatt in Datei exportieren
27.07.2017 20:40:57
fcs
Hallo Michael,
in einem einfacheren Makro geht das natürlich genauso.
Das Blatt muss hier jedoch wieder geschützt werden,bevor es in die neue Mappe verschobenwird.
Gruß
Franz

Sub Blatt3_Copy_in_Mappe()
Dim wkbAktiv As Workbook
Dim wks As Worksheet
Dim wksCopy As Worksheet
Dim wkbCopy As Workbook
Const strPass$ = "Kosmos"           'Passwort für Blattschutz
Set wkbAktiv = ActiveWorkbook
Set wks = wkbAktiv.Worksheets(3)
wks.Copy before:=wkbAktiv.Sheets(1)
Set wksCopy = ActiveSheet
With wksCopy
.Unprotect strPass
.UsedRange.Copy
.UsedRange.PasteSpecial Paste:=xlPasteValues
Range("A1").Select
.Protect strPass
.Move
Set wkbCopy = ActiveWorkbook
wkbCopy.Sheets(1).Name = wks.Name
End With
Application.DisplayAlerts = False 'vorhandene Datei wird ohne Meldung überschrieben
wkbCopy.SaveAs Filename:=wkbAktiv.Path & Application.PathSeparator _
& Format(Date, "YYYY-MM-DD ") & wkbAktiv.Name, _
FileFormat:=wkbAktiv.FileFormat, addtomru:=True
Application.DisplayAlerts = True
wkbCopy.Close savechanges:=True
End Sub

Anzeige
AW: Tabellenblatt in Datei exportieren
27.07.2017 21:02:13
VBA-Novize
Vielen Dank. Perfekt!
Schönen Abend!
Michael
;
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt in Datei exportieren


Schritt-für-Schritt-Anleitung

Um ein Excel-Blatt zu exportieren, insbesondere das dritte Tabellenblatt ohne Formeln, kannst Du folgendes VBA-Makro verwenden. Dieses Beispiel ist für Excel 2010 und höher geeignet:

Sub Blatt3_Copy_in_Mappe()
    Dim wkbAktiv As Workbook
    Dim wks As Worksheet
    Dim wksCopy As Worksheet
    Dim wkbCopy As Workbook
    Const strPass$ = "Kosmos"  ' Passwort für Blattschutz
    Set wkbAktiv = ActiveWorkbook
    Set wks = wkbAktiv.Worksheets(3)
    wks.Copy before:=wkbAktiv.Sheets(1)
    Set wksCopy = ActiveSheet
    With wksCopy
        .Unprotect strPass
        .UsedRange.Copy
        .UsedRange.PasteSpecial Paste:=xlPasteValues
        .Protect strPass
        .Move
        Set wkbCopy = ActiveWorkbook
        wkbCopy.Sheets(1).Name = wks.Name
    End With
    Application.DisplayAlerts = False ' vorhandene Datei wird ohne Meldung überschrieben
    wkbCopy.SaveAs Filename:=wkbAktiv.Path & Application.PathSeparator & _
        Format(Date, "YYYY-MM-DD ") & wkbAktiv.Name, _
        FileFormat:=wkbAktiv.FileFormat, addtomru:=True
    Application.DisplayAlerts = True
    wkbCopy.Close savechanges:=True
End Sub

Dieses Makro kopiert das dritte Blatt, entfernt die Formeln und speichert es als neue Datei mit einem Datum im Dateinamen.


Häufige Fehler und Lösungen

  • Problem: Das Tabellenblatt ist geschützt und kann nicht kopiert werden.

    • Lösung: Stelle sicher, dass Du das Blatt zuerst mit dem entsprechenden Passwort (strPass) entprotectest, bevor Du die Daten kopierst.
  • Problem: Fehler beim Speichern aufgrund eines bereits vorhandenen Dateinamens.

    • Lösung: Das Makro fragt beim Überschreiben einer existierenden Datei nach, ob Du diese löschen möchtest.

Alternative Methoden

Falls Du das Excel-Arbeitsblatt exportieren möchtest, ohne VBA zu verwenden, kannst Du auch manuell vorgehen:

  1. Wähle das gewünschte Tabellenblatt aus.
  2. Drücke Strg + C, um die Daten zu kopieren.
  3. Öffne eine neue Excel-Datei und drücke Strg + V, um die Daten einzufügen.
  4. Speichere die neue Datei mit Speichern unter.

Diese Methode ist schnell, aber weniger automatisiert und eignet sich eher für gelegentliche Exporte.


Praktische Beispiele

Wenn Du mehrere Tabellenblätter in einer Datei exportieren möchtest, kannst Du die Schleife im VBA-Makro anpassen:

For n = 1 To .Sheets.Count
    If .Sheets(n).Visible = True Then
        ' Exportiere hier die Sichtbaren Blätter
    End If
Next n

So kannst Du Excel einzelne Blätter exportieren, indem Du nur die sichtbaren Blätter berücksichtigst.


Tipps für Profis

  • Verwende Application.Calculation = xlCalculationManual, um die Berechnung während des Exports zu deaktivieren. Das beschleunigt den Prozess, besonders bei großen Datenmengen.

  • Speichere Deine Makros in der Personal Macro Workbook-Datei, um sie in jeder Excel-Arbeitsmappe verfügbar zu haben.

  • Teste Dein Makro mit einer Kopie Deiner Originaldatei, um unerwartete Datenverluste zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich das Makro anpassen, um mehrere Tabellenblätter zu exportieren?
Ja, Du kannst eine Schleife einfügen, um mehrere Blätter nacheinander zu exportieren.

2. Welche Excel-Version wird benötigt?
Das Beispiel ist für Excel 2010 und höher geeignet.

3. Wie kann ich das Passwort für den Blattschutz ändern?
Ändere einfach den Wert von Const strPass$ im Makro.

4. Was passiert, wenn ich das Makro fehlerhaft ausführe?
In diesem Fall solltest Du regelmäßig Backups Deiner Daten anlegen, um Datenverlust zu vermeiden.

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