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

CSV Export - Überflüssige Zeilen

CSV Export - Überflüssige Zeilen
16.01.2007 21:32:34
Bender
Hallo,
ich habe ein Problem beim Speichern einer *.csv Datei. Das Problem ist das es sehr viele überflüssige Zeilen mit ;;;;;;;;; gibt. Da sich die Länge meiner zu exportierenden Datei häufig ändert, will ich diese Zeilen möglichst vermeiden, ohne viel Aufwand zu betreiben.
Ich hoffe das jemand eine gute Lösung für das Problem hat und danke im vorraus.
Gruß Hans-Martin Bender

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

Betreff
Datum
Anwender
Anzeige
AW: CSV Export - Überflüssige Zeilen
16.01.2007 21:37:06
HAW
Hallo Hans-Martin,
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 Export - Überflüssige Zeilen
16.01.2007 21:49:49
Bender
Hallo Heinz,
danke erstmal für deine rasche Antwort. Das Speichern und das mit dem ; funktioniert wunderbar. Allerdings verstehe ich nicht, wie ich den Bereich genau festlegen kann. Meine nächste Frage wäre dann ob Excel nicht automatisch erkennen kann wie groß der zu exportierende Bereich ist, in dem Datensätze vorhanden sind.
Gruß Hans-Martin
AW: CSV Export - Überflüssige Zeilen
17.01.2007 06:35:51
haw
Hallo Hans-Martin,
in dem Beispiel, wird durch Used.Range.Rows.Count und Used.Range.Columns.Count der benutzte Bereich in eine Textdatei kopiert.
In vielen Fällen ist es aber nicht erwünscht, dass alle Zellen übertragen werden, da kann man dann entweder (z.B. bei Spalten) eine fixe Zahl vergeben, z.B. 17, wenn du alle Spalten von A - Q übertragen willst.
Für die Zeilen kann dann vielleicht mit Cells(Rows.count, 1).End(xlUp).Row die letzte beschriebene Zeile der Spalte A ermittelt und dieser Wert dann für die Schleife verwendet werden.
Wie gesagt, man kann den gewünschten Bereich individuell festlegen und man muss nicht das gesamte Tabellenblatt in eine Textdatei kopieren.
Gruß Heinz
Anzeige
AW: CSV Export - Überflüssige Zeilen
17.01.2007 20:52:05
Bender
Hallo Heinz,
es funktioniert jetzt wunderbar. Allerdings wäre es perfekt, wenn die aktuell ausgewählte Tabelle in der Excel Datei exportiert wird und nicht die erste Tabelle.
Ist das möglich? Ich benanke mich vielmals für deine Hilfe.
Gruß Hans-Martin
AW: CSV Export - Überflüssige Zeilen
18.01.2007 07:02:00
haw
Hallo Hans-Martin,
ganz einfach, du ersetzt einfach Set TB = ThisWorkbook.Worksheets(1) durch Set TB = ActiveSheet

Sub AlsTextSpeichern()
Dim TB as worksheet, Dateinummer%
Dim z%, s%, exportfile$, TMP$
exportfile = "C:\test.csv"
Dateinummer = FreeFile
Set TB = ActiveSheet
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige