Hallo,
habe diesen Code der mir eine CSV Datei mit beliebig vielen Datensätzen aufsplittet. D. h. ich gebe die Anzahl ein bei der gesplittet werden soll und dann werden Tabellenblätter angelegt und befüllt. Klappt auch alles super.
Nun möchte ich gerne alle vorhandenen Tabellenblätter jeweils einzeln (z. B. 1.csv, 2.csv, 3.csv usw.) als CSV in ein Verzeichnis speichern. Nur weiß ich leider nicht wie das geht.
Kann mir hier vielleicht jemand helfen?
Danke schonmal und Gruß
Public Function FileTeilen()
On Error GoTo Hell
Dim fso As New FileSystemObject, SR As TextStream
Dim datenfeld, Datenzeile, Datenstring As String
Dim rcount As Double, mcount As Integer, x As Integer
Dim datensheet As Variant
Dim y As String
y = InputBox("Bitte geben Sie die Anzahl an, bei der gesplittet werden soll!", "Filetransfer")
Set SR = fso.OpenTextFile(Application.GetOpenFilename)
mcount = 1
rcount = 0
ReDim datenfeld(y, 200)
Do
Datenstring = SR.ReadLine
Datenzeile = Split(Datenstring, ";")
For x = 0 To UBound(Datenzeile)
datenfeld(rcount, x) = Datenzeile(x)
Next
rcount = rcount + 1
If rcount > y Then
Set datensheet = Sheets.Add
datensheet.Range("A1").Resize(UBound(datenfeld, 1), UBound(datenfeld, 2)) = datenfeld
mcount = mcount + 1
rcount = 0
Erase datenfeld
ReDim datenfeld(y, 200)
End If
Loop While Not SR.AtEndOfStream
Set datensheet = Sheets.Add
datensheet.Range("A1").Resize(UBound(datenfeld, 1), UBound(datenfeld, 2)) = datenfeld
Hell:
MsgBox Err.Description, vbCritical, "Ein Fehler ist aufgetreten!"
Exit Function
End Function
|