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

ANSI Text mit best. Formatierung einlesen

ANSI Text mit best. Formatierung einlesen
08.10.2008 07:57:00
Eddie
Guten morgen,
ich habe heute mal folgendes Problem ...
ich würde gerne text, den ich in einen anderen Editor bearbeitet habe in Excel einlesen, so das die Spalten und Trennzeichen erkannt werden, diese Daten dann bearbeiten und dann wieder exportieren kann.
hier ist mal so Bsp Daten(diese werte beginnen ab Zeile 30 im Dokument):
case id|| i02 | 025 | 045 | 044 | nu || _A | _B | _E | _D | _C | _G | _F | _L | _M | _J | _K | i01 | i02 | i13 || remarks/comment
--------------------------------------------------------------------------------------------------------------------
1 || 000 | F | T | F | - || F | T | F | F | F | T | T | T | T | F | T | 000 | T | F ||
2 || 000 | T | T | F | - || F | F | F | T | F | T | F | T | F | F | T | 270 | T | T ||
Nun habe ich halt diese Tabelle erstellt, aber würde sie gerne in Excel einlesen, so das die Spalten erkannt werden.
case id || sollte schon in Spalte A
i02 ....... nu || sind meine Eingänge ....
_A .... _i13 || sind meine Ausgänge
Die 3 Teile sind immer mit einen || getrennt, die einzelnen I/O's mit einem | Zeichen....
gibt es eine Möglichkeit die Daten in Excel einzulesen, so das er die Trennzeichen erkennt und alles in jede passende Spalte einfügt ?
und würde es dann auch wieder gehen, das Excel mir die Daten wieder als txt. Datei wieder so formatiert ausgibt, nachdem man es bearbeitet hat (also alle richtigen Spaltengrößen + Trennzeichen)?
ich bedanke mich schon mal für eure geistige mithilfe...
schöne Morgengrüße
der Eddie

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ANSI Text mit best. Formatierung einlesen
08.10.2008 08:14:50
Reinhard
Moin Eddie,
benutze den pre-Tag:

case id|| i02 | 025 | 045 | 044 | nu  || _A | _B | _E | _D | _C | _G | _F | _L | _M | _J | _K |  _
i01 | i02 | i13 || remarks/comment
------------------------------------------------------------------------------------------------ _
1   || 000 |  F  |  T  |  F  |  -  ||  F |  T |  F |  F |  F |  T |  T |  T |  T |  F |  T |  _
000 |  T  |  F  ||
2   || 000 |  T  |  T  |  F  |  -  ||  F |  F |  F |  T |  F |  T |  F |  T |  F |  F |  T |  _
270 |  T  |  T  ||


Gruß
Reinhard

AW: ANSI Text mit best. Formatierung einlesen
08.10.2008 08:33:41
Eddie
Hallo reinhard
was meinst du denn mit pre-Tag ? etwas das | Zeichen ?
mit dem importieren geht schon so langsam... aber die Zahlen werden nicht mit 045 oder 025 sondern immer ohne 0, also 45 und 25 eingefügt ....... und das man es wieder so exportiert das es mit dem | Zeichen alles getrennt ist .. und das alle Tabs durch 4 Leerzeichen getrennt sind würde auch noch in meiner IDEE fehlen :-)
gruß Eddie
Anzeige
nochmals zu 1 / 2
08.10.2008 08:44:19
Reinhard
Hi Eddie,
pre-Tag ist einer der vielen Html-Tags, sind steuercodes für die Textdarstellung. Mit dem pre-Tag bleiben Leerzeichen erhalten die du zur besseren Darstellung eingefügt hast. Vergeich deinen Ausgabngsbeitrag mit dem von mir...
Benutzung ist einfach, entweder scheibst du die manuell vor und hinter den Text oder klickst hier bei der Eingabe oben auf "Zitat" dann wrden die beiden pre-Tags eingefügt, dein Text muß dann zwischen die beiden Klammerpaare.

Sub tt()
Dim Zei As Long, Werte, W As Integer, Spa As Long
For Zei = 30 To Range("A" & Rows.Count).End(xlUp).Row
If InStr(Cells(Zei, 1), Chr(124)) > 0 Then
Rows(Zei).NumberFormat = "@"
Werte = Split(Cells(Zei, 1), Chr(124))
For W = LBound(Werte) To UBound(Werte)
If Len(Werte(W)) > 0 Then
Spa = Spa + 1
Cells(Zei, Spa) = Trim(Werte(W))
End If
Next W
Spa = 0
End If
Next Zei
End Sub


Gruß
Reinhard

Anzeige
AW: nochmals zu 1 / 2
08.10.2008 08:56:00
Eddie
Jetzt weiß ich endlich was du mit pre-Tags meinst :-) ... dachte schon ich muss da irgenwas mit pre-Tags in VBA machen ... aber dient ja nur zur besseren Ansicht von best. CODE :-)
Die Null wird ja nun mit Hilfe der Zeile

Rows(Zei).NumberFormat = "@"

richtig angezeigt .. das sieht ja schon alles sehr gut aus
schönen morgen noch
der EDDIE

AW: nochmals zu 1 / 2 - neue Testvorlage
08.10.2008 09:10:00
Eddie
Anbei ist auch noch ein andere Test .. weil die Breite kann sich ja auch bei den Eingangswerten sehr unterscheiden

|| the input value                                                      || the output  _
value shall have …
|| shall be set to …                                                    ||
test  ||                                                                      ||
case id|| i02 | 013 | 011 | 059 | 061 | 043 |   012    | 010 | 023 | 024 | nu  || _A | _B | _E | _
_D | _C | _G | _F | _L | _M || remarks/comment
------------------------------------------------------------------------------------------------ _
1   || 000 |  F  |  F  |  F  |  F  |  F  |   16#0   |  F  |  F  |  F  |  -  ||  F |  F |  F | _
F |  F |  T |  F |  T |  T ||
2   || 000 |  T  |  T  |  T  |  T  |  T  | 16#3513  |  F  |  F  |  T  |  -  ||  F |  F |  F | _
F |  F |  T |  F |  T |  T ||
3   || 000 |  T  |  T  |  T  |  T  |  T  | 16#10002 |  F  |  F  |  T  |  -  ||  F |  F |  F | _
F |  F |  T |  F |  T |  T ||


gruß Eddie

Anzeige
zu 1 / 2
08.10.2008 08:30:00
Reinhard
Moin Eddie,

Sub tt()
Dim Zei As Long, Werte, W As Integer, Spa As Long
For Zei = 30 To Range("A" & Rows.Count).End(xlUp).Row
If InStr(Cells(Zei, 1), Chr(124)) > 0 Then
Werte = Split(Cells(Zei, 1), Chr(124))
For W = LBound(Werte) To UBound(Werte)
If Len(Werte(W)) > 0 Then
Spa = Spa + 1
Cells(Zei, Spa) = Trim(Werte(W))
End If
Next W
Spa = 0
End If
Next Zei
End Sub


Gruß
Reinhard

AW: zu 1 / 2
08.10.2008 08:46:00
Eddie
Hallo Reinhard...
das klappt ja schon sehr gut ... aber leider macht excel ja aus allen zahlen die vorher eine 025 u.s.w. eine 25 ... und das problem mit dem export wird wohl auch schwierig, weil da ja wieder die Tabs eingefügt werden sollen .. und nach dem case id, Eingängen und ausgängen ein || kommt, und ansonsten die Daten mit | getrennt werden .... undkeine Tabs, sondern nur leerzeichen ausgegeben werden (weil der Editor sieht, ob es tabs oder leerzeichen sind :-(
gruß der Eddie .. aber bis jetzt klappt das mit den Teilen der Daten schon recht gut
Anzeige
kleinen Fehler entdeckt
08.10.2008 15:47:54
Eddie
Ich habe gerade einen kleinen Fehler von Excel aus entdeckt... vielleicht kann man den beheben
wenn ich folgende Daten von meinen Editor in Excel einfüge, dann macht er die letzten 2 Werte schon in einer anderen Spalte, weil dort schon ein Tab war ... nun überschreibt das Makro aber diese Werte .. vielleicht kann man diese einfach nur nach Rechts shiften.. so das Nichts verloren geht ?
Bsp.

step |12gdf |Itrvf      |ILerf     |  uzb  | tzgfg | htrth
1   |    0    |    0     |    0     |    0   |    287 | 	0	 |
2   |    1    |    1     |    0     |    1   |    0   | 	0	 |
3   |    1    |    1     |    1     |    2   |    0   | 	0	 |


Danke für jegliche Hilfe
gruß Eddie

Anzeige
AW: ANSI Text mit best. Formatierung einlesen
08.10.2008 23:16:57
Daniel
Hi
Text markieren, auf DATEN - TEXT IN SPALTEN klicken
Schritt 1: "getrennt" auswählen
Schritt 2: als Trennzeichen "andere" auswählen und dort das Spalten-Trennzeichen | eintragen
Schritt 3: alle Spalten anklicken, für die ein 025 025 bleiben soll und dort TEXT auswählen
fertig
das ganze als Text-Datei zu speichern wird dann etwas schwieriger, ggf als CSV, aber dann hast du das Komma als Trennzeichen (bei TXT-Files ggf den Tabulator)
Gruß, Daniel

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige