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

Forumthread: Tabellenblatt in neue Datei kopieren

Tabellenblatt in neue Datei kopieren
30.12.2005 12:25:14
TobiM4
Hi
Ich benötige mal Eure Hilfe.
Also ich benötige ein Makro, was mir ein Tabellenblatt in eine neue Datei kopiert.
Das ganze sollte folgendermaßen ablaufen. Ich habe in meiner Grundtabelle einen Button, der das Makro startet. dann soll abgefragt werden, wo die neue Datei abgespeichert werden soll. Nach der Eingabe sollte dann kontrolliert werden, ob die Datei vorhanden ist. Wenn ja neuen Dateinamen eingeben. Wenn nein dann Datei neu anlegen und mein Tabellenblatt kopieren. Das Tabellenblatt, was ich kopieren will heißt "Übergabedaten" und es handelt sich auch nur um die Zellen B3-B10. In diesen Zellen stehen aber nun leider Formeln. In meiner neuen Datei sollten aber nur die reinen Zahlen stehen.
Falls mir da mal jemand auf die Sprünge helfen kann und das mal zusammenbasteln könnte. Vielleicht ist das ja für jemanden nur 5 Minuten Arbeit. Für mich wäre das wohl eine tagesfüllende Aufgabe.
Ich weiß vielleicht sollte ich bei VBA Level besser nein wählen, aber ich habe fast nie mit Dateimanagement unter VBA zu tun, sondern nur mit Programmierung innerhalb meiner Tabelle.
So ich hoffe es ist nicht zuviel verlangt so zum Ende des Jahres, aber Ihr würdet mir sehr helfen. VIelen vielen dank schon mal im voraus.
Gruß TobiM4
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in neue Datei kopieren
30.12.2005 15:04:04
HansH
Hallo Tobi,
damit es dir heute nicht zu langweilig wird, den Rest schaffst Du sicher heute noch, aus der Recherche:


Sub Speichern_BeiKlick()
Application.ScreenUpdating = False
Dim WBName$
WBName = InputBox("Dateiname:")
If WBName = "" Then Exit Sub
ActiveSheet.Copy
ActiveWorkbook.SaveAs WBName
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub


kopiert die aktuelle Tabelle in eine neue Datei, ins gleiche Verzeichnis.
Gruß
Hans
Anzeige
AW: Tabellenblatt in neue Datei kopieren
02.01.2006 08:40:04
TobiM4
Hi HansH
Erstmal vielen Dank für Deine Bemühungen.
Aber leider hilft mir der Code nicht viel weiter, da ich soweit auch schon mit dem Recorder war. Das erste Problem ist, dass ich einen Pfad auswählen möchte und dass nicht das ganze Blatt kopiert werden soll, aber das bekomme ich dann schon allein hin. Es müsste halt nur eine neue leere Datei angelegt werden.
Gruß TobiM4
Anzeige
AW: Tabellenblatt in neue Datei kopieren
02.01.2006 20:29:40
HansH
Hallo TobieM4,
hatte Langeweile und mal nen bischen zusammengeklaut. Mit diesem Code wird eine neue Tabelle "Übertragungswerte" angelegt und nach Übergabe der Werte und Speichern wieder gelöscht. Bei Auswahl der Pfades und des Namens. Geht sicher Profihafter.

Sub Speichern_BeiKlick()
Application.ScreenUpdating = False
Dim ws As Worksheet
Set ws = Sheets.Add
ws.Name = "Übertragungswerte"
Sheets("Übergabedaten").Range("B3:B10").Copy
Sheets("Übertragungswerte").Range("B3").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Copy
Application.Dialogs(xlDialogSaveAs).Show "D:\"
ActiveWorkbook.Close
Application.DisplayAlerts = False
Sheets("Übertragungswerte").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Gruß
Hans
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt in neue Datei kopieren


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt in eine neue Datei zu kopieren, kannst Du folgendes VBA-Makro verwenden. Dieses Skript ermöglicht es Dir, ein spezifisches Tabellenblatt zu kopieren und als neue Datei zu speichern. Die Schritte sind wie folgt:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub Speichern_BeiKlick()
        Application.ScreenUpdating = False
        Dim WBName As String
        WBName = InputBox("Bitte Dateinamen eingeben:")
        If WBName = "" Then Exit Sub
    
        ' Neues Arbeitsblatt erstellen
        Dim ws As Worksheet
        Set ws = Sheets.Add
        ws.Name = "Übertragungswerte"
    
        ' Daten kopieren und nur Werte einfügen
        Sheets("Übergabedaten").Range("B3:B10").Copy
        ws.Range("B3").PasteSpecial Paste:=xlPasteValues
    
        ' Arbeitsmappe speichern
        ActiveSheet.Copy
        Application.Dialogs(xlDialogSaveAs).Show
        ActiveWorkbook.Close
    
        ' Temporäres Arbeitsblatt löschen
        Application.DisplayAlerts = False
        Sheets("Übertragungswerte").Delete
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Erstelle einen Button auf Deinem Arbeitsblatt, der das Makro ausführt:

    • Gehe zu Entwicklertools > Einfügen und wähle einen Button aus. Verlinke den Button mit dem Makro Speichern_BeiKlick.
  6. Teste das Makro:

    • Klicke auf den Button, um das Makro zu starten. Gib den Namen der neuen Datei ein und speichere sie an dem gewünschten Ort.

Häufige Fehler und Lösungen

  • Fehler: "Das Arbeitsblatt kann nicht erstellt werden"

    • Lösung: Stelle sicher, dass der Name des neuen Arbeitsblatts nicht bereits existiert oder ungültige Zeichen enthält.
  • Fehler: "Speichern nicht möglich"

    • Lösung: Überprüfe, ob Du Schreibrechte im angegebenen Verzeichnis hast.
  • Fehler beim Kopieren von Formeln:

    • Lösung: Stelle sicher, dass Du PasteSpecial mit xlPasteValues verwendest, um nur die Werte und nicht die Formeln zu kopieren.

Alternative Methoden

Wenn Du eine andere Methode bevorzugst, kannst Du auch folgende Ansätze in Betracht ziehen:

  • Manuelles Kopieren: Kopiere die gewünschten Zellen manuell und füge sie in eine neue Arbeitsmappe ein. Dies ist jedoch weniger automatisiert und könnte zeitaufwändig sein.

  • Power Query: Verwende Power Query, um Daten aus einem Tabellenblatt zu extrahieren und in eine neue Datei zu exportieren. Diese Methode ist besonders nützlich, wenn Du regelmäßig Daten übertragen musst.


Praktische Beispiele

Hier sind einige Beispiele, wie Du das VBA-Skript anpassen kannst:

  • Kopieren eines anderen Tabellenblatts: Ändere Sheets("Übergabedaten") in den Namen des gewünschten Tabellenblatts.

  • Kopieren eines größeren Bereichs: Passe den Bereich in Range("B3:B10") an, um mehr Daten zu kopieren, z.B. Range("B3:D20").


Tipps für Profis

  • Fehlerbehandlung hinzufügen: Implementiere eine Fehlerbehandlung im VBA-Code, um unerwartete Probleme abzufangen.

  • Dynamische Dateinamen: Integriere das Datum in den Dateinamen, um Versionen zu verwalten, z.B.: WBName = Format(Date, "YYYYMMDD") & "_Daten".

  • Verwendung von Variablen: Nutze Variablen für wiederkehrende Werte, um Deinen Code übersichtlicher und wartbarer zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehrere Tabellenblätter zu kopieren?
Du kannst eine Schleife verwenden, um mehrere Tabellenblätter nacheinander zu kopieren.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2016 und später.

3. Kann ich das Makro ohne VBA verwenden?
Leider ist das Kopieren von Tabellenblättern in neue Dateien ohne VBA nicht möglich. Du musst VBA oder eine andere Automatisierungssprache verwenden.

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