Excel: jeweilige Zeilen in einer neuen Datei kopieren?

...komplette Frage anzeigen Beispiel - (programmieren, Excel, Office)

1 Antwort

VBA kann ohne weiteres neue Dateien erstellen.

Beliebige Dateien mit

Open "[Dateiname]" For Output As #[Dateinummer]
Open "[Dateiname]" For Append As #[Dateinummer]

legen die Datei mit dem Namen [Dateiname] an, falls sie nicht existiert.

Excel-Dateien mit

Set wb = Workbooks.Add()

Mit der Dir()-Funktion kannst du herausfinden, ob eine Datei existiert:

If Dir([Dateiname]) = "" Then
'Code für den Fall, dass die Datei NICHT existiert
Else
'Code für den Fall, dass die Datei existiert
End If

Eine existierende Excel-Datei kannst du öffnen mit

Set wb = Workbooks.Open(Filename:="[Dateiname]")

Die Ermittlung der letzten Zelle in einem Excel-Arbeitsblatt ist nicht sehr zuverlässig, sonst könnte man mit

[Arbeitsblatt].Cells.SpecialCells(xlCellTypeLastCell)

die letzte zu berücksichtigende Zelle ermitteln.

So ist es wohl das beste, in der Zieltabelle zu prüfen, welches die erste tatsächlich leere Zeile ist.

Wie das Kopieren und Einfügen oder sonstige Operationen funktionieren, probierst du am besten selbst aus:

Unter dem Tab "Entwicklertools" klickst du auf "Makro aufzeichnen ...", gibst dem Makro einen Namen (ich klicke einfach auf "OK"); darauf führst die gewünschten Operationen einmal durch; zuletzt klickst du auf "Makro-Aufzeichnung beenden".

Den erstellten Quellcode findest du im Code des "Moduls" mit der höchsten Nummer als "Sub Makro9" (wo statt "9" normalerweise eine andere Nummer steht) wieder mit der höchsten Nummer. Diesen Quellcode passt du an deine Zwecke an.

Insbesondere ActiveWorkbook, Workbook("[Dateiname]"), ActiveSheet, Sheets["[Tabellenname]") solltest du durch geeignete Variablen ersetzen.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?