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

cvs speichern

cvs speichern
01.05.2021 13:38:38
Patricia
Hallo zusammen
Ich habe einen coolen Code gefunden, um ein worksheet aus einer Arbeitsmappe als csv zu speichern.
Nun habe ich den Codenamen etwas angepasst (Firmennamen hinzu), nun läuft das Ding nicht mehr.
Kann die Datei leider nicht senden, da es mit der Buchhaltung verbunden ist.
aber evtl. seht ihr auch so, was hier nicht stimmt?
Liebe Grüsse und vielen Dank!

Sub TbBlatt_als_CSV_speichern()
Dim Bereich As Object   ' Bereich der bearbeitet werden Soll
Dim Zeile As Object     ' Bereich der bearbeitet werden Soll
Dim Zelle As Object     ' Bereich der bearbeitet werden Soll
Dim strTemp As String   ' temporärer Speicher für den ExportString
Dim sSW_Name_Tabelle As String
Dim sSW_Trennzeichen As String
Dim sSW_SpeicherPfad As String
Dim sRM_Datum_Zeit As String
Dim sSW_DateiName As String
Dim strTrennzeichen As String
Dim entity_text As String
sSW_Name_Tabelle = "CSV_Export"
sSW_Trennzeichen = ";"
On Error GoTo Fehlermeldung
' Speichern vom aktuellen Dateipfad
sSW_SpeicherPfad = ActiveWorkbook.Path
' Speichern CompanyName
entity_text = ActiveWorkbook.Sheets("Sheet10").Range("c1").Value
' Speichern vom Zeitstempel, Teil vom Dateinamen der CSV-Export-Datei
sRM_Datum_Zeit = Format(Now, "YYYY-MM-DD - HH-MM-SS")
' Zusammensetzen vom Dateinamen
sSW_DateiName = sSW_SpeicherPfad & "" & entity_text & "" & sSW_Name_Tabelle & " - " & sRM_Datum_Zeit & ".csv"
' Tabelle "CSV_Export" selektieren - ActiveSheet
tab_upload.Select
' Exportbereich setzen
Set Bereich = tab_upload.UsedRange
' Daten aus der Quelldatei auslesen und in die externe Datei schreiben
Open sSW_DateiName For Output As #1
For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
strTemp = strTemp & CStr(Zelle.Text) & sSW_Trennzeichen
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
' externe Datei (CSV) schliessen und Arbeitsbereich löschen
Close #1
Set Bereich = Nothing
GoTo Fertigmeldung
Fehlermeldung:
'Fehlermeldung anzeigen
If Err Then MsgBox "Datei wurde nicht gespeichert"
GoTo Ende
Fertigmeldung:
'Fertigstellungsmeldung anzeigen
MsgBox "Export erfolgreich. Datei wurde exportiert nach " & sSW_SpeicherPfad & sSW_DateiName
Ende:
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: cvs speichern
01.05.2021 14:12:09
ralf_b
Prüfe den Inhalt von sSW_DateiName ob da ein gültiger Pfad drin steht.
z.b. ActiveWorkbook.Path dort fehlt ein "\" am Ende um die folgenden Ordner abzugrenzen.
sSW_SpeicherPfad & "" & entity_text & "" & könnte z.b. hier rein müssen
AW: cvs speichern
01.05.2021 14:12:27
Nepumuk
Hallo Patricia,
würde ich so machen:
Code:

[Cc][+][-]

Public Sub TbBlatt_als_CSV_speichern() Dim sSW_Name_Tabelle As String Dim sSW_SpeicherPfad As String Dim sRM_Datum_Zeit As String Dim sSW_DateiName As String Dim entity_text As String On Error GoTo Fehlermeldung sSW_Name_Tabelle = "CSV_Export" ' Speichern vom aktuellen Dateipfad sSW_SpeicherPfad = ThisWorkbook.Path & "\" ' Speichern CompanyName entity_text = ThisWorkbook.Sheets("Sheet10").Range("C1").Value ' Speichern vom Zeitstempel, Teil vom Dateinamen der CSV-Export-Datei sRM_Datum_Zeit = Format(Now, "YYYY-MM-DD - HH-MM-SS") ' Zusammensetzen vom Dateinamen sSW_DateiName = sSW_SpeicherPfad & "" & entity_text & "" & _ sSW_Name_Tabelle & " - " & sRM_Datum_Zeit & ".csv" ' Tabelle "CSV_Export" selektieren - ActiveSheet tab_upload.Copy ' Tabelle als CSV speichern ActiveWorkbook.SaveAs Filename:=sSW_DateiName, FileFormat:=xlCSVMSDOS, Local:=True ActiveWorkbook.Close SaveChanges:=False ' Fertigstellungsmeldung anzeigen MsgBox "Export erfolgreich. Datei wurde exportiert nach " & sSW_DateiName Exit Sub Fehlermeldung: ' Fehlermeldung anzeigen MsgBox "Datei wurde nicht gespeichert" End Sub

Gruß
Nepumuk
Anzeige
AW: cvs speichern
01.05.2021 14:30:21
Patricia
Hallo Nepomuk
Der Pfad stimmt nun, aber ich glaube mein Einschub mit dem Firmennamen klappt nicht.
Wenn ich diesen Teil entferne
' Speichern CompanyName
'entity_text = ThisWorkbook.Sheets("Sheet10").Range("C1").Value
Dann läuft der Code wunderbar. In c1 steht einfach "C018".
Nicht schimm wenn das halt nicht geht, aber schön wäre es:-)
Lg
Patricia
AW: cvs speichern
01.05.2021 14:42:09
Nepumuk
Hallo Patricia,
was steht genau in der Zelle C1?
Gruß
Nepumuk
AW: cvs speichern
01.05.2021 14:31:08
Armin
Hallo Nepumuk,
hast du " tab_upload.Copy" übersehen oder ist da was neues im spiel?
Gruß Armin
AW: cvs speichern
01.05.2021 14:41:04
Nepumuk
Hallo Armin,
ich kopiere das Tabellenblatt. Damit wird eine neue Mappe angelegt und die speichere ich als CSV.
Gruß
Nepumuk
Anzeige
AW: cvs speichern
01.05.2021 15:08:14
Armin
Hallo Nepumuk,
ja das habe ich schon verstanden, aber wenn ich tap_upload.copy ausführen lass, kommt eine Fehlermeldung das Objekt ist nicht definiert.
Das hat mich stutzig gemacht.
Gruß Armin
AW: cvs speichern
01.05.2021 15:26:02
Nepumuk
Hallo Armin,
hast du ein Tabellenblatt mit dem Objektnamen "tap_upload" ?
Userbild
Gruß
Nepumuk
AW: cvs speichern
01.05.2021 15:28:54
Armin
Hallo Nepumuk,
danke habe es verstanden.
Gruß Armin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige