Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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
Inhaltsverzeichnis

vba code Tabelle kopieren in neue Datei einfügen

vba code Tabelle kopieren in neue Datei einfügen
26.08.2016 09:51:22
Marvin
Hallo,
ich benötige ein Vba-Code/Makro das in meiner Excel Datei 1(xls Format), das 3 Tabellenblatt kopiert (nur die Werte), dann eine neue Exceldatei erstellt(Datei 2 im csv Format), die nur ein Tabellenblatt hat mit diesen Daten. Die Datei 1 soll dann geschlossen werden und die Werte aus Tabellenblatt 3 gelöscht werden(aber die Formeln sollen erhalten bleiben, wenn das nicht geht dann die Werte aus Tabellenblatt 2 löschen, diese sind ohne Formel und Tabellenblatt 3 basiert auf den Werten von Tabellenblatt 2). Die neu erstellte Datei 2 sollte wie gesagt im csv Format sein und unter einem bestimmten Pfad gespeichert werden.
Ich hoffe ich habe mich verständlich ausgedrückt und bin für jede Antwort, Dankbar.
Gruß
Marvin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba code Tabelle kopieren in neue Datei einf
26.08.2016 11:03:20
Michael
Hallo!
Sub a()
'#### anpassen ####
Const SP_PFAD As String = "C:\Verzeichnis\Ordner\"
Const SP_NAME As String = "CSVexport"
'#### Ende ####
Dim WbQ As Workbook
Dim WbZ As Workbook
Dim WsQ As Worksheet
Dim WsZ As Worksheet
Set WbQ = ThisWorkbook
Set WsQ = WbQ.Worksheets(3)
Set WbZ = Workbooks.Add
Set WsZ = WbZ.Worksheets(1)
WsQ.UsedRange.Copy
WsZ.Cells(1, 1).PasteSpecial xlPasteValuesAndNumberFormats
WbQ.Worksheets(2).UsedRange.Clear
WbQ.Close True
WbZ.SaveAs Filename:=SP_PFAD & SP_NAME, FileFormat:=6
WbZ.Close True
End Sub
LG
Michael
Anzeige
AW: vba code Tabelle kopieren in neue Datei einf
26.08.2016 11:36:21
Marvin
Hallo Michael,
danke für deine Antwort. Habe es gerade mal probiert. Die Tabelle wird einwandfrei kopiert und die alte gelöscht und geschlossen wie es sein soll*Daumen hoch*. Allerdings enthält die neue Mappe 3 Tabellen, statt nur dieser einen mit Werten und die wird komischerweise nicht gespeichert, trotz Anpassung des Pfades. Hast du eine Erklärung dafür? Danke
AW: vba code Tabelle kopieren in neue Datei einf
26.08.2016 11:49:08
Michael
Hallo!
Allerdings enthält die neue Mappe 3 Tabellen
Ja, ich habe ignoriert, dass ich beim Erstellen neuer Mappen immer nur ein Blatt anlegen lasse, der Standardwert ist aber 3 - das dürftest Du nicht geändert haben (in den Optionen).
Abhilfe schafft hier entweder besagte Option zu ändern, oder Du wirfst alle Blätter außer #1 in der Ziel-Mappe raus, also dann so ergänzt
Sub a()
'#### anpassen ####
Const SP_PFAD As String = "C:\Verzeichnis\Ordner\"
Const SP_NAME As String = "CSVexport"
'#### Ende ####
Dim WbQ As Workbook
Dim WbZ As Workbook
Dim WsQ As Worksheet
Dim WsZ As Worksheet
Dim i&
Set WbQ = ThisWorkbook
Set WsQ = WbQ.Worksheets(3)
Set WbZ = Workbooks.Add
Set WsZ = WbZ.Worksheets(1)
WsQ.UsedRange.Copy
WsZ.Cells(1, 1).PasteSpecial xlPasteValuesAndNumberFormats
WbQ.Worksheets(2).UsedRange.Clear
WbQ.Close True
Application.DisplayAlerts = False
For i = 2 To WbZ.Worksheets.Count: WbZ.Worksheets(i).Delete: Next i
Application.DisplayAlerts = True
WbZ.SaveAs Filename:=SP_PFAD & SP_NAME, FileFormat:=6
WbZ.Close True
End Sub
wird komischerweise nicht gespeichert
Kann ich so noch nicht nachvollziehen, klappt bei mir einwandfrei. Endet Deine Pfadangabe auch mit einem "\"?
LG
Michael
Anzeige
AW: vba code Tabelle kopieren in neue Datei einf
26.08.2016 12:20:10
Marvin
Hallo,
irgendwie merkwürdig. Selbst mit der neuen Formel gibt es keine Veränderung. Es öffnet sich nur eine Datei, die Mappe 1 heißt und Tabelle 1 (in der meine Daten drin sind) Tabelle 2 (leer) Tabelle 3 (leer) beinhaltet.
Habe beim Dateipfad auf das Backslash geachtet. Habe die Formel in Tabellenblatt 3 über Codeanzeigen eingefügt (ist doch richtig oder). Vielleicht hängt es auch damit zusammen, das Tabellenblatt 3 die Werte durch Formeln aus einem anderen Blatt bekommt?
Sorry, das kann ich nicht nachvollziehen...
26.08.2016 12:36:37
Michael
Marvin!
Habe die Formel in Tabellenblatt 3 über Codeanzeigen eingefügt
Es handelt sich a) um keine Formel, sondern ein Makro und b) nein, der Code muss in der Quell-Mappe (aus der Du dann das eine Daten-Blatt in eine CSV exportieren möchtest) in ein allgemeines Modul. D.h. in der Quell-Mappe den VB-Editor mit Alt + F11 aufrufen -- Einfügen -- Modul; im rechten Fenster dann den Code einfügen.
Vielleicht hängt es auch damit zusammen, das Tabellenblatt 3 die Werte durch Formeln aus einem anderen Blatt bekommt
Dein Problem ist aktuell, das Speichern des exportierten Blattes als CSV, so ich das verstanden habe. Mit Blattformeln hat das nichts zu tun; unabhängig davon übernehme ich die Werte Deines Tabellenblatt3 direkt und nicht die Formeln - es werden die angezeigten Werte in das neue Blatt eingefügt.
Der Code ist von mir getestet und funktioniert bei mir einwandfrei; evtl. lad noch eine Bsp-Mappe hoch, anders kann ich nicht helfen, weil ich nicht weiß, was Du genau machst.
LG
Michael
Anzeige

398 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige