online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Beatlefield vom 31.10.2019, 11:34 Options

CSV in Text datei umwandeln

Ich habe eine CSV-Datei (Excel) und möchte diese in eine TXT-Datei umwandeln. Die Einträge ohne tabstopp sein, so dass die Zahlen ohne leerzeichen stehen. Könnt ihr mir helfen??????



  • *Threadedit* 20:15:28
    Admininfo: bitte vermeide Mehrfachanfragen in verschiedenen, bzw. gleichen Gruppen.
    Die Datenbank und User werden es dir danken. Siehe FAQ 2.


  • Antwort schreiben

    Antwort 1 von Marie vom 31.10.2019, 13:01 Options

    Datei, speichern unter .....

    den Rest verstehe ich nicht.
    Zitat:
    Die Einträge ohne tabstopp sein, so dass die Zahlen ohne leerzeichen stehen
    ???

    Erklär mal genauer, was passt Dir nicht bei formatierter Text oder Text Tabs getrennt, wodurch willst Du denn unterscheiden wo ein Feld aufhört und das nähste beginnt, wenn nicht durch Leerzeichen und nicht durch Tabs?? Sag doch was Du stattdessen willst, dann kann Dir vermutlich geholfen werden.

    Gruß marie

    Antwort 2 von steffen2 vom 31.10.2019, 13:13 Options

    öffne die Datei in Word und ersetzte Tabstop durch WasAuchImmer

    du kannst die CSV auch in TXT umbenennen, das ist ein Text-Format.

    Gruß Steffen

    Antwort 3 von Beatlefield vom 31.10.2019, 13:15 Options

    einfach gar nichts so das die zahlen durchgehend geschrieben werden, wenn du verstehst was i mein, aber schon mal danke schön

    Antwort 4 von Marie vom 31.10.2019, 13:34 Options

    na dann speicher mal die csv als xls ab, dann öffne sie mit Word. In Word hast Du dann eine Tabelle. Dann markierst Du alles mit "alles markieren" und unter extras findest Du dann Tabelle in Text umwandeln.

    Dann würde ich als Trennzeichen das Semikolun wählen und danach mit Suchen und ersetzen das Semikolon ersetzen durch nichts. Dann hast Du noch ein Leerzeichen, damit machst Du dasselbe, also mit Suchen und ersetzen Leerzeichen ersetzen durch nichts. Dann speicherst Du das als textdatei ab, fertig.

    Gruß marie

    Antwort 5 von Beatlefield vom 31.10.2019, 13:45 Options

    danke schön, hat funktioniert

    Antwort 6 von Beatlefield vom 31.10.2019, 15:06 Options

    hey hab noch ne frage gibts außer word noch ne alternative, so das ich mit makro die schritte gemeinsam aufzeichnen kann, mit word muss ich nämlich immer den makro jeweils im Excel und word neu aufzeichnen lassen

    Antwort 7 von Marie vom 31.10.2019, 18:07 Options

    Ja suchen und ersetzen geht auch in einer Textdatei, probiers einfach mal.

    gruß marie

    Antwort 8 von Beatlefield vom 02.11.2019, 12:33 Options

    ja gut, aber ich mein das ich den schritt vom speichern einer Exceldatei in eine Textdatei mit makro aufzeichnen kann, des mein ich !!!!

    Antwort 9 von Marie vom 02.11.2019, 15:13 Options

    Dann muss Du halt in Excel zuerst alle Felder in eines schieben und dann nur dieses eine Feld exportieren.

    Dazu müsste man aber erstmal wissen wie Deine Exceltabelle aussieht.

    Also angenommen alle Spalten und alle Zeilen sind belegt bis zu einer leeren Zeile und einer leeren Spalte, zwischendrin sind keine leeren Spalten oder Zeilen, dann hast Du natürlich einen ganz anderen Code, wie wenn dazwischen leere Zellen sind.

    Ich nehme jetzt mal an Du willst bis zur ersten leeren Spalte und bis zur ersten leeren zeile alles aneinanderhängen:

    Dann machst Du in Tabelle 2 alle Daten aus Tabelle 1 und kannst nachher Tabelle 2 exportieren als Textdatei, den letzten Schritt kannst Du ja dann. Also der folgende Code tut was Du willst wenn zwischendurch keine Leerfelder sind, wenn doch musst Du bitte mal genau sagen was in der Tabelle übernommen werden muss.

    gruß Marie

    Sub FuelleTab2()

    Dim zeile As Integer
    Dim spalte As Integer
    Dim LangString As String


    zeile = 1
    spalte = 1

    LangString = ""
    While (Tabelle1.Cells(zeile, spalte) <> "")
    While (Tabelle1.Cells(zeile, spalte) <> "")
    LangString = LangString + Trim$(Tabelle1.Cells(zeile, spalte))
    spalte = spalte + 1
    Wend
    Tabelle2.Cells(zeile, 1) = LangString
    zeile = zeile + 1
    spalte = 1
    LangString = ""
    Wend
    End Sub

    Antwort 10 von Beatlefield vom 02.11.2019, 15:19 Options

  • Admininfo: *Threadedit* Siehe FAQ 5.
  • Antwort 11 von Marie vom 02.11.2019, 15:28 Options

    nein, wir supporten hier, damit jeder, der dasselbe Problem hat, hier eine Lösung findet. Dafür muss Du Dich mal ordentlich ausdrücken lernen, was Dir auch nicht schadet.

    Also beschreibe mir bitte welche Zellen in Deiner Exceltabelle gefüllt sind und welche möglichrweise nicht, dann kann ich Dir helfen.

    Du kannst auch einen screenshot machen und per netupload hochladen und den Link hier einstellen, was ich aber nicht so toll finde, denn in einigen Wochen kann dann niemand mehr nachvollziehen was Du geschickt hast.

    Lern Dich lieber so auszudrücken, dass hier jeder versteht was Du meinst.

    Gruß marie

    Antwort 12 von Beatlefield vom 02.11.2019, 15:43 Options

    lol, hast recht, das ist halt schwer zu beschreiben und so, aber egal, die zellen A1-A70 bis F1-F70 sind gefüllt
    des mit den screenshot muss ich später machen, aber vlt kannst du mir so weiter helfen

    Antwort 13 von Marie vom 02.11.2019, 16:21 Options

    Na dann halt eben 70 Zeilen und 6 Spalten, nicht ausprobiert:

    Sub FuelleTab2()

    Dim zeile As Integer
    Dim spalte As Integer
    Dim intz As Integer
    Dim ints As Integer
    Dim LangString As String


    zeile = 1
    spalte = 1

    LangString = ""
    For intz = 1 to 70 ' 70 Zeilen ab Zeile 1
    For ints = 1 to 6 ' 6 Spalten A bis F
    LangString = LangString + Trim$(Tabelle1.Cells(zeile, spalte))
    spalte = spalte + 1
    next ints
    Tabelle2.Cells(zeile, 1) = LangString
    zeile = zeile + 1
    spalte = 1
    LangString = ""
    next intz
    End Sub

    Antwort 14 von Marie vom 02.11.2019, 16:54 Options

    Noch einfacher wäre das, aber dann kannst Du nicht mehr nach Belieben die Spalten und Zeilenzahl so einfach variieren.

    Sub FuelleTab2()

    Dim zeile As Integer
    Dim spalte As Integer
    Dim LangString As String

    LangString = ""
    For zeile = 1 to 70 ' 70 Zeilen ab Zeile 1
    For spalte = 1 to 6 ' 6 Spalten A bis F
    LangString = LangString + Trim$(Tabelle1.Cells(zeile, spalte))
    next spalte
    Tabelle2.Cells(zeile, 1) = LangString
    LangString = ""
    next zeile
    End Sub

    Antwort 15 von Beatlefield vom 05.11.2019, 13:03 Options

    hi, eine kurze frage noch und zwar muss ich des ins visual basic editor oder ins microsoft skript editor einfügen???
    gruß Beatlefield

    Antwort 16 von Marie vom 05.11.2019, 13:11 Options

    Vb

    Gruß marie

    Antwort 17 von Beatlefield vom 07.11.2019, 08:41 Options

    danke schön, marie

    Antwort 18 von Beatlefield vom 08.11.2019, 14:16 Options

    hey wie muss ich des reinschrieben???? So stehts bei mir im vb drin:

    Sub Test()
    '
    ' Test Makro
    ' Makro am 07.11.2007 von htuwe aufgezeichnet
    '

    '
    Columns("A:A").Select
    Selection.NumberFormat = "00"
    Columns("B:B").Select
    Selection.NumberFormat = "000"
    Columns("D:D").Select
    Selection.NumberFormat = "000000000.00"
    Columns("E:F").Select
    Selection.ClearContents
    Columns("E:E").Select
    Selection.NumberFormat = "000000000000000"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("E2").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("E1:E2").Select
    Selection.AutoFill Destination:=Range("E1:E72"), Type:=xlFillDefault
    Range("E1:E72").Select
    ActiveWindow.SmallScroll Down:=-93
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight
    ActiveCell.FormulaR1C1 = "#"
    Columns("D:D").Select
    Range("D2").Activate
    ActiveCell.FormulaR1C1 = "#"
    Range("D1:D2").Select
    Selection.AutoFill Destination:=Range("D1:D72"), Type:=xlFillDefault
    Range("D1:D72").Select
    ActiveWindow.SmallScroll Down:=-75
    Range("F1").Select
    ChDir "C:\Dokumente und Einstellungen\tstoehr\Desktop"
    End Sub

    danke für eure hilfe!!!!!!!!!

    Antwort 19 von coros vom 08.11.2019, 14:25 Options

    Hallo Beatlefield,

    klasse Frage. Suuuper gestellt und alle wissen sofort, was Du möchtest. Außer ich. Auch wenn ich nicht blond bin, weiß ich nicht, was Du mit der Frage erreichen möchtest.

    MfG,
    Oliver
    Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
    ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

    Antwort 20 von Beatlefield vom 08.11.2019, 14:44 Options

    ups, sorry, muss ja allgemien bleiben, also den text wo "marie"
    geschickt hat
    Sub FuelleTab2()

    Dim zeile As Integer
    Dim spalte As Integer
    Dim intz As Integer
    Dim ints As Integer
    Dim LangString As String


    zeile = 1
    spalte = 1

    LangString = ""
    For intz = 1 to 70 ' 70 Zeilen ab Zeile 1
    For ints = 1 to 6 ' 6 Spalten A bis F
    LangString = LangString + Trim$(Tabelle1.Cells(zeile, spalte))
    spalte = spalte + 1
    next ints
    Tabelle2.Cells(zeile, 1) = LangString
    zeile = zeile + 1
    spalte = 1
    LangString = ""
    next intz
    End Sub

    in meinen makro

    Sub Test()
    '
    ' Test Makro
    ' Makro am 07.11.2007 von htuwe aufgezeichnet
    '

    '
    Columns("A:A").Select
    Selection.NumberFormat = "00"
    Columns("B:B").Select
    Selection.NumberFormat = "000"
    Columns("D:D").Select
    Selection.NumberFormat = "000000000.00"
    Columns("E:F").Select
    Selection.ClearContents
    Columns("E:E").Select
    Selection.NumberFormat = "000000000000000"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("E2").Select
    ActiveCell.FormulaR1C1 = "0"
    Range("E1:E2").Select
    Selection.AutoFill Destination:=Range("E1:E72"), Type:=xlFillDefault
    Range("E1:E72").Select
    ActiveWindow.SmallScroll Down:=-93
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight
    ActiveCell.FormulaR1C1 = "#"
    Columns("D:D").Select
    Range("D2").Activate
    ActiveCell.FormulaR1C1 = "#"
    Range("D1:D2").Select
    Selection.AutoFill Destination:=Range("D1:D72"), Type:=xlFillDefault
    Range("D1:D72").Select
    ActiveWindow.SmallScroll Down:=-75
    Range("F1").Select
    ChDir "C:\Dokumente und Einstellungen\tstoehr\Desktop"
    End Sub

    weist du jetzt wie gemeint ????? ich weiß allgemein nicht wie man das was im VB steht bearbeitet!!!!!!!

    Ähnliche Themen

    CSV-Datei wandelt Werte in Datum
    Platin7  24.05.2007 - 189 Hits - 5 Antworten

    Import eines csv Datei
    morpheus__85  24.07.2007 - 270 Hits - 1 Antwort

    Excel Datei als csv abspeichern
    Flo76  20.08.2007 - 175 Hits - 12 Antworten

    Probleme beim exportieren von CSV aus Access
    Inka2008  29.01.2008 - 215 Hits - 4 Antworten

    Hinweis

    Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

    Neue Einträge

    Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026