Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblätter per Makro in eigene Datei export.

Tabellenblätter per Makro in eigene Datei export.
16.10.2007 14:54:46
Marko
Hallo,
habe folgendes Problem.
Ich habe eine Excel-Datei mit sagen wir 11 Tabellenblättern.
Der Inhalt der Tabellenblätter generiert sich über die Eingabe von gewissen daten auf Tabellenblatt 1 über Hyperlinks.
Ich möchte nun ein Makro einbauen, dass es mir ermöglich, z.B. Tabellenblatt 2&3 in eine eigene Datei und mit den Werten (nicht den Verknüpfungen zu Blatt 1) zu exportieren.
Bitte um euren Support.
LG,
Marko

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Blätter Kopieren ohne Verknüpfungen
16.10.2007 16:01:22
NoNet
Hallo Marko,
mit diesem Makro kannst Du Blätter und deren Werte (ohne Verknüpfungen durch Formeln) in eine neue Mappe kopieren.
Es werden jedoch nur die Verknüpfungen eliminiert, die durch Formeln bestehen, nicht solche, die in Diagrammen, Bereichsnamen, Grafiken etc. evtl. noch vorhanden sind !
Sub KopierenOhneVerknuepfungen()
    Dim wbAlt As Workbook, wbneu As Workbook
    Dim shArr, sh
    shArr = Array("Tabelle3", "Tabelle4") 'Diese Blätter werden kopiert
    Set wbAlt = ActiveWorkbook
    Sheets(shArr).Copy
    Set wbneu = ActiveWorkbook
    For Each sh In wbneu.Sheets(shArr)
        wbAlt.Sheets(sh.Name).Cells.Copy
        wbneu.Sheets(sh.Name).[A1].PasteSpecial Paste:=xlValues
    Next
    Application.CutCopyMode = False
    wbneu.SaveAs "C:\Temp\Kopie neu.xls"
    Set wbAlt = Nothing
    Set wbneu = Nothing
End Sub

Den zu speichernden Dateinamen ("C:\Temp\Kopie neu.xls") bitte ändern oder Zeile deaktivieren !
Gruß, NoNet

Anzeige
AW: Blätter Kopieren ohne Verknüpfungen
17.10.2007 15:37:00
Marko
Gibt es auch die Möglichkeit, die gewünschten Tabellenblätter gleich als PDF zu exportieren?

AW: Tabellenblätter per Makro in eigene Datei export.
16.10.2007 16:10:41
duke7
Vielleicht so:

Sub blaetter_kopieren()
Dim tabellenname As String
tabellenname = ActiveSheet.Name 'falls die Blätter spezielle Namen haben
Cells.Select
Selection.Copy
Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Name = tabellenname
End Sub


Grüße
Alex

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblätter per Makro in eigene Datei exportieren


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei, aus der du die Tabellenblätter exportieren möchtest.

  2. Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  4. Kopiere und füge den folgenden Code ein:

    Sub KopierenOhneVerknuepfungen()
       Dim wbAlt As Workbook, wbneu As Workbook
       Dim shArr, sh
       shArr = Array("Tabelle2", "Tabelle3") ' Diese Blätter werden kopiert
       Set wbAlt = ActiveWorkbook
       Sheets(shArr).Copy
       Set wbneu = ActiveWorkbook
       For Each sh In wbneu.Sheets(shArr)
           wbAlt.Sheets(sh.Name).Cells.Copy
           wbneu.Sheets(sh.Name).[A1].PasteSpecial Paste:=xlValues
       Next
       Application.CutCopyMode = False
       wbneu.SaveAs "C:\Temp\Kopie_neu.xls" ' Hier Dateipfad anpassen
       Set wbAlt = Nothing
       Set wbneu = Nothing
    End Sub
  5. Ändere den Dateipfad in der Zeile wbneu.SaveAs zu dem gewünschten Speicherort.

  6. Schließe den VBA-Editor und führe das Makro aus, indem du Alt + F8 drückst, das Makro auswählst und auf Ausführen klickst.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Stelle sicher, dass die Tabellenblätter, die du exportieren möchtest, genau so benannt sind wie im Code.
  • Fehler: "Zugriff verweigert"

    • Überprüfe, ob der angegebene Dateipfad existiert und du Schreibrechte für diesen Ordner hast.
  • Verknüpfungen werden nicht entfernt

    • Der Code entfernt nur Verknüpfungen aus Formeln. Überprüfe, ob es andere Verknüpfungen gibt, die manuell entfernt werden müssen.

Alternative Methoden

Eine andere Möglichkeit, um Excel-Blätter zu exportieren, ist die Verwendung von Export-Funktionen:

  1. Export als PDF: Du kannst die gewünschten Blätter direkt als PDF speichern, indem du die ExportAsFixedFormat-Methode verwendest.
  2. Manuelles Kopieren: Wenn du nur einige Daten benötigst, kannst du die Daten auch manuell kopieren und in eine neue Datei einfügen.

Praktische Beispiele

  • Exportiere bestimmte Blätter: Du kannst die shArr-Array-Zeile anpassen, um andere Blätter auszuwählen, z.B. shArr = Array("Tabelle1", "Tabelle4").

  • Speichern ohne Verknüpfungen: Der oben genannte Code stellt sicher, dass beim Exportieren der Excel-Datei keine Verknüpfungen zu anderen Blättern übernommen werden.

Sub ExportPDF()
    Sheets("Tabelle2").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Temp\Tabelle2.pdf"
End Sub

Tipps für Profis

  • Makros effizient nutzen: Speichere deine Makros in einer persönlichen Makroarbeitsmappe, um sie in verschiedenen Excel-Dateien nutzen zu können.
  • Fehlerbehandlung einbauen: Füge Fehlerbehandlungsroutinen in dein Makro ein, um die Benutzerfreundlichkeit zu erhöhen.
  • Verwendung von Variablen: Definiere Variablen für Dateipfade und Tabellennamen, um den Code flexibler zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter gleichzeitig exportieren?
Du kannst das shArr-Array anpassen, um beliebig viele Tabellenblätter zu exportieren.

2. Kann ich das Makro auf Excel Online verwenden?
Makros sind in Excel Online nicht verfügbar. Du benötigst eine Desktop-Version von Excel.

3. Wie speichere ich die Datei ohne Verknüpfungen?
Verwende den bereitgestellten Code, der sicherstellt, dass nur die Werte und nicht die Verknüpfungen gespeichert werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige