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

Semikolon anstelle Komma CSV

Semikolon anstelle Komma CSV
21.04.2015 08:50:13
Larissa
Hallo liebe Community,
ich habe folgendes kleines Problem:
Ich exportiere eine CSV Datei im *txt Format und anschließend sind die Spalten mit einem Komma getrennt. Ich benötige aber ein Semikolon. Außerdem möchte ich, dass in der obersten Spalte neben der letzten gefüllten Spalte eine "leere" steht, damit weitere Semikolon hinzugefügt werden.
So sieht es bisher aus:
Dies, Ist, ein,
Test, 1,
Test, 2,
....
Das ist das Ziel:
Dies; Ist; ein;;;
Test;1;
Test;2;
Hier ist meine Code-Stelle:
ActiveWorkbook.SaveAs Filename:="Z:\foo\foo\foo.txt", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=True

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:07:13
Wolfgang
Moin Moin,
1.) ergänze den Speicherbefehl um "Local:=True", dann wird "in Deutsch" gespeichert - normal speichert VBA "in Englisch", so dass der Delimiter ein "," ist.
2.) Wenn Du in Zeile 1 in die leeren Spalten ein Hochkomma "'" einträgst, ist die Spalte im Blatt nicht leer, im Export aber schon. Bei mir kommt dann das raus:
Dies;ist;ein;;;
Test;1;;;;
Test;1;;;;

(Das ist aus der Urzeit der Tabellenkalkulationen, als man mit vorangestelltem ' / " / ^ die Zellausrichtung links / rechts / zentriert festlegen konnte.)
Hoffe, das hilft!
Gruß, Wolfgang

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:15:08
Larissa
Erstmal vielen Dank für deine Antwort.
Mit "true" habe ich bereits getestet, sobald ich die csv-Datei als txt abspeichere verschwinden die Semikolon und werden durch Kommas ersetzt. Mit dem " ' " ist eine super Idee, aber leider werden dann in allen weiteren Zeilen (ab 2) die Semikolon eingefügt.
Test;1;;;;
Test;1;;;;
So Soll es aber aussehen..
Dies; Ist; ein;;;
Test;1;
Test;2;

AW: Semikolon anstelle Komma CSV
21.04.2015 09:31:53
Daniel
Hi
Wenn du Semikolons als Trennzeichen willst, musst du als CSV mit Local:=True speichern.
Txt ist dann wieder ein anderes Format mit anderen Trennzeichen.
Auch dein zweiter Wunsch ist nicht so leicht erfüllbar, weil Excel immer die UsedRange, also den genutzten Zellbereich, speichert und dieser ist immer rechteckig mit gleich viel Zellen in jeder Zeile, daher hat auch im CSV jede Zeile die gleiche Anzahl Semikolons.
Der Weg zur Erfüllung deiner Wünsche ist folgender:
Fasse auf einem zweiten Tabellenblatt die Texte einer Zeile in Spalte A zusammen (mit Verketten oder &) und speichere dann dieses Blatt als CSV oder Txt.
Hierbei bestimmst du das Trennzeichen und seine Anzahl, denn für Excel steht der Ganze Text in einer Spalte und es fügt keine eigenen Trennzeichen ein.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:51:13
Larissa
Das mit der Verkettung verstehe ich nicht genau..
Ich habe in einer neuen Mappe in A1 folgende Formel geschrieben =Import!A1&Import!B1&Import!C&1
Dann steht da nun "DiesIstein".. Mir fehlen aber die Semikolon und die kann ich bei der Verkettung mit & nicht einfügen..

AW: Semikolon anstelle Komma CSV
21.04.2015 10:00:47
Daniel
Das Trennzeichen fügst du genauso ein wie die Texte:
=Import!A1&";"&Import!B1&";"& ...
Gruß Daniel

AW: Semikolon anstelle Komma CSV
21.04.2015 10:25:46
Larissa
Vielen Dank! Ein erster (kleiner) Schritt ist getan. Es sieht jetzt aber folgendermaßen aus:
"Dies;ist;ein;;;"
Test         1
Test         2
Es fehlen jetzt die Semikolon bei den Einträgen und die Leerzeichen irritieren.. Und die Anführungszeichen müssen natürlich weg.

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 10:52:51
Daniel
1. Was sieht so aus?
2. wie sehen deine Formeln aus?
3. wie speicherst du?
Gruß Daniel

AW: Semikolon anstelle Komma CSV
21.04.2015 10:55:33
Larissa
1. Meine txt-Datei
2. Meine Formel sieht folgendermaßen aus:
=Tabelle1!A1&";"&Tabelle1!B1&";"&Tabelle1!C1&";"&";"&";"
3. Ich speicher die csv-Datei anschließend mit "Speicher unter".. (Text MSDOS).

AW: Semikolon anstelle Komma CSV
21.04.2015 12:06:45
Daniel
Hi
speichere mal als .prn Formatierter Text (Leerzeichen getrennt)
das erzeugt bei mir ein einfaches Textfile ohne die Anführungszeichen um den Text
den Dateinamen kannst du ja nacher immer noch auf CSV oder TXT oder sonstwas ändern.
Gruß Daneil

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 12:17:06
Larissa
Okay super damit gehen die Anführungszeichen weg. Problem ist, dass er die Leerzeichen zwischen den Einträgen noch hat und die Semikolon Trennung ab Zeile 2 fehlt. Mist, ich komme einfach nicht auf die Lösung. :(

AW: Semikolon anstelle Komma CSV
21.04.2015 12:21:27
Daniel
ich kenne jetzt nicht deine Formeln für die Zeile 2 und die folgenden Zeilen.
leerzeichen zwischen den Einträgen sollten nur vorkommen, wenn du mehrer Spalten hast, dann werden im PRN-Format die Texte in den Spalten mit Leerzeichen aufgefüllt, so dass jede Spalte die selbe anzahl von Zeichen hat, so das gleiche Spalten im Text auch untereinander stehen.
Da du aber, wenn du meinen Anweisungen gefolgt bist, nur eine Spalte hast, sollte das nicht vorkommen.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 12:30:42
Larissa
In Spalte A1 steht jetzt die ersten drei Spalten (A1, B1 und C1). Ab Zeile 2 (!) stehen Einträge in A2:A111 und in B2:B111.

siehe meine Lsg. owT
21.04.2015 12:33:44
Rudi

AW: Semikolon anstelle Komma CSV
21.04.2015 12:45:09
Daniel
dann hast du nicht verstanden, was ich dir erkärt habe.
es müssen alle Texte in Spalte A stehen!
Wenn du mehrer Spalten hast, greifen wieder die Excelautomatismen für die Vergabe der Spaltentrenner.
deswegen müssen alle Texte in Spalte A stehen! damit du die Spaltentrenner nach deinen eigenen Regeln vergeben kannst
daher muss ab Zeile 2 bis Zeile 111 dann die die Formel in Spalte A: =Tabelle1!A2&";"&Tabelle1!B2
wie schon erwähnt: du musst pro Zeile alle Texte in der Spalte A zusammenfassen und alle folgenden Spalten ab Spalte B müssen leer sein.
Wenn das für dich zu schwer zu verstehen ist, solltest du dir mal das Makro von Rudi anschauen, vielleicht kommst du damit besser klar.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 11:03:51
Rudi
Hallo,
Sub aaaa()
Dim strOut As String, i As Long, arrTmp
i = 1
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 3))
arrTmp = WorksheetFunction.Transpose(arrTmp)
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = Join(arrTmp, ";")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 1))
arrTmp = WorksheetFunction.Transpose(arrTmp)
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = strOut & vbCrLf & Join(arrTmp, ";")
Next
Open "c:\temp\output.txt" For Output As #1
Print #1, strOut
Close #1
End Sub
Gruß
Rudi
Anzeige

280 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige