Export einer Excel-Tabelle in .CSV (Einträge mit Hochkomma)?
|
Autor |
Nachricht |
Access-Hiwi
Im Profil kannst Du frei den Rang ändern
Verfasst am: 14. Aug 2004, 18:30 Rufname:
|
|
|
|
Tach allerseits,
seit einer geschlagenen Woche bin ich nun am rumdoktern und nix will so richtig funktionieren...
Mein Problem ist folgendes:
Ich arbeite mit Excel und Access. Aus diesen Datenbeständen soll eine .CSV Datei exportiert werden.
Datei-Speichern unter-.CSV auswählen- klappt, ist schon klar....
aber
ich benötige alle Einträge mit einem Hochkomma (") eingefasst,
als Seperator einen Semikolon.
Seperator klappt, aber nicht das Hochkomma (auch wenn alle Zellen forhen als Text formatiert wurden)
Hat wer eine Idee??
(Wahrscheinlich hab ich ein Brett vor de, Kopp)
|
|
fl618
Gibt sich Mühe

Verfasst am: 14. Aug 2004, 18:45 Rufname:
Wohnort: Wallbach, CH
|
| |
|
|
Hallo Hiwi
Versuch es doch mal mit einem Macro wie z.B.
Sub hochkomma()
For Each cell In Selection
cell.Value = "'" & cell.Value & "'"
Next cell
End Sub
Hoffe, es hilft.
_________________ Ciao
Franz
--------------------------------------------
(da ich eine engl. Excel Version verwende, kann es vorkommen, dass ich leider nicht immer die richtige deutsche Übersetzung erwische ...)
|
|
ae
Mein Name ist Ente

Verfasst am: 14. Aug 2004, 18:58 Rufname: Andreas
Wohnort: Reppenstedt bei Lüneburg
|
|
|
|
Hallo,
vielleicht hilft dir dieser ansatz von heinz ja ein wenig weiter -
Code: | Sub TextDateiErstellen()
Dim exportfile$, TB As Worksheet, z%, TMP$
exportfile = "C:\test.txt"
Dateinummer = FreeFile
Set TB = ThisWorkbook.Worksheets(1)
'Die folgende Zeile erzeugt eine neue Datei mit dem angegebenen Namen
'im angegebenen Pfad
Open exportfile For Output As #Dateinummer
'Die beiden Schleifen beziehen alle belegten Zellen in die zu erstellende Textdatei ein
For z = 1 To TB.UsedRange.Rows.Count
For s = 1 To TB.UsedRange.Columns.Count
'Das Semikolon ist durch jedes beliebige Feldtrennzeichen ersetzbar
TMP = TMP & CStr(TB.Cells(z, s).Text) & ";"
Next s
'Damit am Ende jeder Zeile, also nach der letzten Zelle kein Strichpunkt mehr gesetzt wird,
'muss das letzte Zeichen wieder abgezogen werden
TMP = Left(TMP, Len(TMP) - 1)
'Print fügt hier immer eine Zeile zur bestehenden Textdatei hinzu
Print #Dateinummer, TMP
'Die Variable TMP muss vor der Aufnahme der nächsten Zeile wieder geleert werden
TMP = ""
Next z
Close #Dateinummer
End Sub
|
_________________ Gruß
Andreas E
------
Oh Mann, ich fühl mich heute wie =DATEDIF(DATUM(1961;6;12);HEUTE();"y") Jahre alt
|
|
Access-Hiwi
Im Profil kannst Du frei den Rang ändern
Verfasst am: 14. Aug 2004, 19:44 Rufname:
|
|
|
|
Danke an euch...
werde mit sofort drüber hermachen...
|
|
Gast
Verfasst am: 14. Aug 2004, 23:29 Rufname:
|
| |
|
|
OK,
beide Varianten der Makros habe ich zum laufen gebracht....aus die Schulter klopf....aber ich habe einen Fehler gemacht. Es muß kein Hochkomma sein, sondern ein (") ein Gänsefüsschen...Fachbegriff liegt grad unter dem Tisch....
Bei Variante 1 habe ich versucht das Hochkomma einfach mit dem (") auszuwechseln, aber das wollte er nicht. Muß ich da dann den ASCII Code angeben?
Bin für jeden Tipp dankbar....
Meine spärlichen Haare werden nun schon langsam grau.....
|
|
fl618
Gibt sich Mühe

Verfasst am: 14. Aug 2004, 23:36 Rufname:
Wohnort: Wallbach, CH
|
|
|
|
Hallo Hiwi
Ohne es gross ausprobiert zu haben, versuch doch einfach mal mit einem oder zwei zusätzlichen Anführungszeichen/Quotation marks (").
Hoffe, es klappt dann ...
_________________ Ciao
Franz
--------------------------------------------
(da ich eine engl. Excel Version verwende, kann es vorkommen, dass ich leider nicht immer die richtige deutsche Übersetzung erwische ...)
|
|
Access-Hiwi
Im Profil kannst Du frei den Rang ändern
Verfasst am: 15. Aug 2004, 01:11 Rufname:
|
|
|
|
Hallo, oder besser guten Morgen...
nach langer Fummelei nun das Ergebniss:
fl618: habe das mit """" probiert, funktioniert in Excel.
Es sind dann alle Zellen mit "blablabla" gefüllt, aber beim Export als .CSV kommen die gesamt eingetragenen """"" mit auf die Liste.
Ich habe folgendes zusammengestrickt und damit funktioniert es:
Export einer Excel Tabelle in ein .CSV (Name/Speicherort wählbar),
Jeder Eintrag wird mit einem Anführungszeichen (") am Anfang und Ende belegt,
Der Seperator ist frei wählbar.
Code: |
Sub SaveCSV()
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")
strDateiname = InputBox("Wie soll die CSV-Datei heißen (c:\test.csv)?", "CSV-Export", strMappenpfad)
If strDateiname = "" Then Exit Sub
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
Set Bereich = Nothing
MsgBox "Export erfolgreich. Datei wurde exportiert nach" & vbCrLf & strDateiname
End Sub
|
|
|
Tim2309
Neuling
Verfasst am: 20. Sep 2004, 11:43 Rufname:
|
|
|
|
Hi,
ich stehe seit heute vor einem ähnlichen Problem. Ich muss aus einem Excel Sheet dieverse Werte auslesen und diese in eine ASCII Datei exportieren. Die Werte müssen mit einem Tabulator getrennt sein!
Das letzte Makro war schon mal einsatz, aber ich bekomme immer den Fehler das die Datei bereits geöffnet ist!
Hab ich da irgendwo ein close vergessen bevor er die Datei erzeugen will, oder kann es auch am inhalt des Excel Sheets liegen. Es sind Text als auch Zahlen Elemente enthalten.
Hab leider noch garkein Plan, von VBA! Wenn jemand noch alternativ eine Quelle hat wo ich was zum Exportiren in eine Ascii Dateii finden kann, wäre ich auch dankbar!
Gruss Tim
|
|
ich bins
Gast
Verfasst am: 28. Jun 2007, 10:58 Rufname:
|
|
Version: OpenOffice/StarOffice |
|
kein plan
|
|
MSE
Gast
Verfasst am: 15. Nov 2008, 20:28 Rufname:
|
|
|
|
Um eine Tabelle mit Tab-Zeichen zu trennen reicht es aus, statt CSV den Typ Text (Tabstop-getrennt) zu wählen. Die Tab-Zeichen kann man mit einem Text-Editor wie z.B. Scite sichtbar machen.
|
|
Mobelix
Im Profil kannst Du frei den Rang ändern
Verfasst am: 03. Feb 2012, 15:34 Rufname:
|
|
Version: Office 2003 |
|
Wow, das Ding von Access-Hiwi ist ja mal der Hammer:
So was suche ich schon ewig!
Ich hatte nämlich auch schon ewig das Problem in einer als csv gespeicherten Excel Tabelle alles in " zu setzen. Jetzt klappts.
Am Anfang meiner Tabelle steht nämlich immer eine 5 bis 10 stellige Nummer.
Wenn ich nun per "ersetzen" alle Nummern mit einem " davor ergänzen will, musste ich ja mindestens 3 Zahlen zum ersetzen aussuchen, da in der Tabelle auch Postleitzahlen etc. auftauchen. Wenn ich da nur 2stellig ersetzen würde, würde er auch " mitten im Text ersetzen.
Dank dieses Makros kann ich mir das nun sparen. DANKEEEE!
Jetzt hab ich nur noch ein Problem.
Am Ende der Tabelle wird ein leeres Feld mit übergeben das aber benötigt wird.
Also muss ich noch manuell ans Ende ein ; setzen, da in meiner .csv das ; den Datensatz quasi beendet.
Gäb's dafür auch noch'n irgend'n Trick?
Tausendundeindank für dieses Makro!
|
|
Exi2010
Gast
Verfasst am: 28. Dez 2013, 21:20 Rufname:
|
|
Version: Office 2010 |
|
Hi,
bei mir wird als csvx gespeichert. Wie bekomme ich das als .csv?
Lieben Dank.
Exi
|
|
Gast
Verfasst am: 29. Dez 2013, 03:08 Rufname:
|
| |
|
|
So:?
Code: | … Replace(strMappenpfad, ".xlsx", ".csv") |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|
Verwandte Themen |
Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Excel Formeln: drop down und doppelte einträge die zweite |
1 |
jensspeedy |
4447 |
21. Jan 2009, 10:18 Tester1  |
 |
Excel Formeln: Bedingte Formatierung und Hochkomma |
4 |
ingriderl |
1212 |
11. Dez 2007, 19:31 Zero  |
 |
Excel Formeln: Daten aus anderer Exceltabelle auslesen |
3 |
rock4ever |
574 |
12. Nov 2007, 15:18 rock4ever  |
 |
Excel Formeln: Excel-Tabelle |
1 |
Gast |
377 |
02. Nov 2007, 11:56 HermannZ  |
 |
Excel Formeln: Liste alle unterschiedlichen Einträge in A in B |
3 |
ggaribaldi |
880 |
31. Aug 2007, 10:59 ggaribaldi  |
 |
Excel Formeln: Formel gesucht - Einträge zählen - |
4 |
mille81 |
590 |
31. Jul 2007, 15:41 myfake  |
 |
Excel Formeln: Kriterium für MS Query aus Exceltabelle verwenden |
2 |
HO |
1280 |
20. Jul 2007, 12:15 HO  |
 |
Excel Formeln: Einträge spaltenweise differenziert zählen |
6 |
Bilingo |
587 |
21. Jun 2007, 11:11 Bilingo  |
 |
Excel Formeln: Excel-Tabelle automatisch sortieren nach Punkten |
6 |
Gast |
5266 |
20. Jun 2007, 12:36 Gast  |
 |
Excel Formeln: AutoFilter einträge gruppieren |
2 |
obidan |
1490 |
19. Feb 2007, 18:15 Fred Walko  |
 |
Excel Formeln: Nur doppelte Einträge anzeigen |
9 |
Fux85 |
10028 |
07. Nov 2006, 10:20 Fux85  |
 |
Excel Formeln: [Excel] 2 Listen, doppelte Einträge löschen |
10 |
BerndHH |
2324 |
24. Okt 2006, 11:22 BerndHH ![[Excel] 2 Listen, doppelte Einträge löschen [Excel] 2 Listen, doppelte Einträge löschen](templates/subSilver/images/icon_latest_reply.gif) |
|
|