Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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

csv-Speicherung

csv-Speicherung
17.01.2022 09:06:49
EasyD
Hallo liebe Forums-Gemeinde,
wer kann das Brett vor meinem Kopf entfernen - folgende Prozedur soll das Blatt "Export" in einem Verzeichnis speichern, welches in Zelle G54 des Blattes "Bearbeitungshinweise" steht wie folgt: Z:\Kontakte\E
Die Speicherung an sich funktioniert, allerdings habe ich nach langem Suchen die zu erstellende csv-Datei in meinem Benutzer-Ordner "Dokumente" gefunden.
Was ist die Ursache / wo liegt mein Fehler?

Sub SaveAsCSV()
Dim DstFileName As String, DstPfad As String
Dim Delimiter As String
Dim strZe As String
Dim lRow As Long, lCol As Integer
Dim Ze As Long, Sp As Integer
Dim ff As Integer
Dim Text As Range
Dim rngZelle As Range
Set Text = Sheets("Export").Range("G2:G" & Cells(Rows.Count, 7).End(xlUp).Row + 1)
'Sicherheitshalber im Text (Spalte G) alle Semikolons durch Kommata ersetzen
For Each rngZelle In Text
rngZelle.Value = Replace(rngZelle.Value, ";", ",")
Next rngZelle
On Error GoTo ErrorHandler
DstPfad = Sheets("Bearbeitungshinweise").Range("G54")
DstFileName = "Datenaustausch" & Format(Date, "dd.mm.yyyy") & ".csv"
Delimiter = ";"
With Sheets("Export")
lRow = .Cells.Find(what:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lCol = .Cells.Find(what:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
ff = FreeFile
Open DstFileName For Output As #ff
'Zeile für Zeile lesen und schreiben ...
For Ze = 1 To lRow
For Sp = 1 To lCol - 1
strZe = strZe & .Cells(Ze, Sp) & Delimiter
Next Sp
strZe = strZe & .Cells(Ze, Sp)
Print #ff, strZe
strZe = ""
Next Ze
End With
ErrorHandler:
If Err.Number  0 Then MsgBox "Fehler Nr. " & Err.Number & vbCrLf _
& Err.Description, vbCritical + vbOKOnly, "Das ging schief ..."
If ff > 0 Then Close #ff
MsgBox "Fertig"
'zuletzt alle zeilen löschen außer Überschrift
Sheets("Export").Rows("2:65536").ClearContents
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: csv-Speicherung
17.01.2022 09:17:58
peterk
Hallo

Open DstPfad & DstFileName For Output As #ff
Am Ende von Dstpfad mus ein "\" stehen alse z.B. "Z:\Kontakte\E\"
Peter
AW: csv-Speicherung
17.01.2022 09:42:17
volti
Und wenn es "idiotensicher" sein soll, kannst Du es so einsetzen....
Open Replace(DstPfad & "\" & DstFileName, "\\", "\") For Output As #ff
Gruß KH
Anzeige
AW: csv-Speicherung
17.01.2022 11:22:01
EasyD
Danke für's Feedback - hat allerdings irgendwie nix geändert.
volti's Lösung funzt!
AW: csv-Speicherung
17.01.2022 11:22:25
EasyD
Perfekt Volti!
herzlichen Dank!
AW: csv-Speicherung
17.01.2022 11:23:54
EasyD
Danke für's Feedback - hat allerdings irgendwie nix geändert.
volti's Lösung funzt!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige