Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

*.CSV Dateien mit Semikolon trennen beim Speichern

*.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 15:02:00
jjo
Hallo,
ich möchte mehrere Tabellenblätter als *.csv abspeichern. Je Tabellenblatt 1 Datei. Das mach i dann so:
Sheets("Gesamt").Select
ActiveWorkbook.SaveAs Filename:=datum & b1, FileFormat:=xlCSV, CreateBackup:=False
Nun ist mein Problem, wenn ich die Datei öffne, dann ist alles mit Komma getrennt, nicht mit Semikolon. Wie kann ich das denn einpflegen, dass dann ein Semikolon als Trennzeichen genommen wird?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 15:24:00
haw
Hallo,
du musst mit einer eigenen Routine an die Sache herangehen:
Da kannst du genau den Bereich festlegen und auch das Trennzeichen frei wählen:

Sub AlsTextSpeichern()
Dim TB as worksheet, Dateinummer%
Dim z%, s%, exportfile$, TMP$
exportfile = "C:\test.csv"
Dateinummer = FreeFile
Set TB = ThisWorkbook.Worksheets(1)
Open exportfile For Output As #Dateinummer
For z = 1 To TB.UsedRange.Rows.Count
If Cells(z,2).Value = Text Then SL = 10 Else SL = 6
For s = 1 To TB.UsedRange.Columns.Count
TMP = TMP & CStr(TB.Cells(z, s).Text) & ";"
Next s
TMP = Left(TMP, Len(TMP) - 1)
Print #Dateinummer, TMP
TMP = ""
Next z
Close #Dateinummer
End Sub


Gruß Heinz

Anzeige
AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 15:32:00
jjo
oh mann, sieht ja super aus, danke, nur leider blick ich nix davon^^
wie würde ich das um mein Makro "drumrum" bauen können?
Hier mal das komplette Makro.

Sub test()
Dim datum As String
Dim lw As String
Dim pf As String
Dim b1 As String, b2 As String, b3 As String, b4 As String, b5 As String, b6 As String, b7 As  _
String
Dim s1 As String, s2 As String, s3 As String, s4 As String, s5 As String, s6 As String, s7 As  _
String
Dim outl As Object, mail As Object
Set outl = CreateObject("outlook.application")
Set mail = outl.createitem(olmailitem)
b1 = "_ges_lhwsrebib.csv"
b2 = "_telek_lhwsrebib.csv"
b3 = "_teleb_lhwsrebib.csv"
b4 = "_eng_lhwsrebib.csv"
b5 = "_ch_lhwsrebib.csv"
b6 = "_katb_lhwsrebib.csv"
b7 = "_sonst_lhwsrebib.csv"
s1 = Range("f61").Value
s2 = Range("f62").Value
s3 = Range("f63").Value
s4 = Range("f64").Value
s5 = Range("f65").Value
s6 = Range("f66").Value
s7 = Range("f67").Value
lw = "N:\"
pf = "N:\ZB_Erreichbarkeiten\VS\Philippsen\BerichtePHILIPPSEN\2007"
datum = Range("h23").Value
ChDrive lw
ChDir pf
Application.ScreenUpdating = False
On Error GoTo fehler
Workbooks.Open Filename:="testReportIB2007.xls"
Sheets("Gesamt").Select
ActiveWorkbook.SaveAs Filename:=datum & b1, FileFormat:=xlCSV, CreateBackup:=False
Sheets("Telekauf").Select
ActiveWorkbook.SaveAs Filename:=datum & b2, FileFormat:=xlCSV, CreateBackup:=False
Sheets("Telebetreuung").Select
ActiveWorkbook.SaveAs Filename:=datum & b3, FileFormat:=xlCSV, CreateBackup:=False
Sheets("Englisch").Select
ActiveWorkbook.SaveAs Filename:=datum & b4, FileFormat:=xlCSV, CreateBackup:=False
Sheets("Swiss").Select
ActiveWorkbook.SaveAs Filename:=datum & b5, FileFormat:=xlCSV, CreateBackup:=False
Sheets("Katalogbestellung").Select
ActiveWorkbook.SaveAs Filename:=datum & b6, FileFormat:=xlCSV, CreateBackup:=False
Sheets("sonstiges").Select
ActiveWorkbook.SaveAs Filename:=datum & b7, FileFormat:=xlCSV, CreateBackup:=False
ActiveWindow.Close savechanges:=True
Application.ScreenUpdating = False
With mail
.Subject = "testFTP Upload " & Date
.body = ""
.to = "test@walterservices.com"
.attachments.Add s1
.attachments.Add s2
.attachments.Add s3
.attachments.Add s4
.attachments.Add s5
.attachments.Add s6
.attachments.Add s7
.send
End With
Set outl = Nothing
Set mail = Nothing
Run "test2"
Exit Sub
fehler: MsgBox "Bitte Eingabe überprüfen"
End Sub


Anzeige
AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 15:41:20
haw
Hallo,
hier das Makro mit Parametern:

Sub AlsTextSpeichern(exportfile As String, TB As Worksheet)
Dim Dateinummer%
Dim z%, s%, TMP$
Dateinummer = FreeFile
Open exportfile For Output As #Dateinummer
For z = 1 To TB.UsedRange.Rows.Count
If Cells(z, 2).Value = Text Then SL = 10 Else SL = 6
For s = 1 To TB.UsedRange.Columns.Count
TMP = TMP & CStr(TB.Cells(z, s).Text) & ";"
Next s
TMP = Left(TMP, Len(TMP) - 1)
Print #Dateinummer, TMP
TMP = ""
Next z
Close #Dateinummer
End Sub


Kopiere es in dasselbe Modul wie das andere.
Ersetze Z.B.
Sheets("Gesamt").Select
ActiveWorkbook.SaveAs Filename:=datum & b1, FileFormat:=xlCSV, CreateBackup:=False
durch:
AlsTextSpeichern datum & b1, Worksheets("Gesamt")
in datum & b1 muss der agnze Pfad angegeben sein, also beginnend mit dem Laufwerk usw.
Gruß
Heinz

Anzeige
AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 16:06:02
jjo
boar das ist ja der hammer! geil! vielen Dank, funzt einwandfrei!!!!!!!
gruß
jjo

AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 15:50:24
Rudi
Hallo,
eine Möglichkeit:

Sub test()
Dim datum As String
Dim lw As String
Dim pf As String
Dim b1 As String, b2 As String, b3 As String, b4 As String, b5 As String, b6 As String, b7  _
As String
Dim s1 As String, s2 As String, s3 As String, s4 As String, s5 As String, s6 As String, s7  _
As String
Dim outl As Object, mail As Object
Set outl = CreateObject("outlook.application")
Set mail = outl.createitem(olmailitem)
b1 = "_ges_lhwsrebib.csv"
b2 = "_telek_lhwsrebib.csv"
b3 = "_teleb_lhwsrebib.csv"
b4 = "_eng_lhwsrebib.csv"
b5 = "_ch_lhwsrebib.csv"
b6 = "_katb_lhwsrebib.csv"
b7 = "_sonst_lhwsrebib.csv"
s1 = Range("f61").Value
s2 = Range("f62").Value
s3 = Range("f63").Value
s4 = Range("f64").Value
s5 = Range("f65").Value
s6 = Range("f66").Value
s7 = Range("f67").Value
lw = "N:\"
pf = "N:\ZB_Erreichbarkeiten\VS\Philippsen\BerichtePHILIPPSEN\2007"
datum = Range("h23").Value
ChDrive lw
ChDir pf
Application.ScreenUpdating = False
On Error GoTo fehler
Workbooks.Open Filename:="testReportIB2007.xls"
With ActiveWorkbook
AlsTextSpeichern .Sheets("Gesamt"), datum & b1
AlsTextSpeichern .Sheets("Telekauf"), datum & b2
AlsTextSpeichern .Sheets("Telebetreuung"), datum & b3
AlsTextSpeichern .Sheets("Englisch"), datum & b4
AlsTextSpeichern .Sheets("Swiss"), datum & b5
AlsTextSpeichern .Sheets("Katalogbestellung"), datum & b6
AlsTextSpeichern .Sheets("sonstiges"), datum & b7
.Close True
End With
Application.ScreenUpdating = False
With mail
.Subject = "testFTP Upload " & Date
.body = ""
.To = "test@walterservices.com"
.attachments.Add s1
.attachments.Add s2
.attachments.Add s3
.attachments.Add s4
.attachments.Add s5
.attachments.Add s6
.attachments.Add s7
.send
End With
Set outl = Nothing
Set mail = Nothing
Run "test2"
Exit Sub
fehler:    MsgBox "Bitte Eingabe überprüfen"
End Sub



Sub AlsTextSpeichern(TB As Worksheet, strFile As String)
Dim Dateinummer%
Dim z%, s%, exportfile$, TMP$
Dateinummer = FreeFile
Open strFile For Output As #Dateinummer
With TB
For z = 1 To .UsedRange.Rows.Count
If .Cells(z, 2).Value = Text Then SL = 10 Else SL = 6
For s = 1 To .UsedRange.Columns.Count
TMP = TMP & CStr(.Cells(z, s).Text) & ";"
Next s
TMP = Left(TMP, Len(TMP) - 1)
Print #Dateinummer, TMP
TMP = ""
Next z
End With
Close #Dateinummer
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: *.CSV Dateien mit Semikolon trennen beim Speichern
23.05.2007 16:06:57
jjo
auch dir vielen dank, hab jetzt grad das andere ausprobiert und rein"gebastelt" ;)
danke euch allen!!!

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige