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

txt-import

txt-import
29.09.2003 15:27:03
Stefan
hallo,

Ich habe ein größeres txt-file. Nun gibt es ja feine makros die es mir ermöglichen diese beliebig zu importieren. Jetzt habe ich nur leider ein problem. In dieser text tabelle werden die informationen wie folgt dargestellt

Nr_1 Text_1 Nr._2 Text_2 ert_1 Wert_2 Wert_3

Ich benötige aus dem File eigentlich nur die Werte aus Nr_1, Nr_2 und Wert_3

Das einzige Problem ist, das die Nr_1 und die Nr_2 erst eine einheitliche Zurodnung ermöglichen, die Werte der Nr_1 jedoch nicht durchgehend gelistet werden. Das sieht wie folgt aus:

Nr_1 Text_1 Nr._2 Text_2 Wert_1 Wert_2 Wert_3
10001 XY 555 XY 100 200 150
XY 666 XY 100 200 150
XY 777 XY 100 200 150
10002 XY 555 XY 100 200 150
XY 666 XY 100 200 150
.....

Das Problem ist nun, wie bekomme ich die Nr._1 durchgehend in den Spalten eingetragen, denn die Werte aus Nr_2 kommen häufiger vor und sind somit nicht direkt zuordnenbar.
Es sollte dann wie folgt aussehen, mit solchen Daten ist der Import für mich im Rahmen meiner Fähigkeiten wieder möglich.

Nr_1 Text_1 Nr._2 Text_2 Wert_1 Wert_2 Wert_3
10001 XY 555 XY 100 200 150
10001 XY 666 XY 100 200 150
10001 XY 777 XY 100 200 150
10002 XY 555 XY 100 200 150
10002 XY 666 XY 100 200 150

Vielen Dank

Gruß

Stefan

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt-import
29.09.2003 21:01:55
Reinhard
Hi Stefan,
probier das mal aus.
Gruß
Reinhard


Sub test()
Dim Zeile As Integer
Dim Textzeile As String
Dim n As Integer
Dim Prüf As Variant
Zeile = 2
Close
Open "c:\temp\tesst.txt" For Output As #1
Print #1, "10001 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Print #1, "XY 777 XY 100 200 150"
Print #1, "10002 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Close #1
Open "c:\temp\tesst.txt" For Input As #2
Range("a1:g65536").ClearContents
While Not EOF(2)
Input #2, Textzeile
Cells(Zeile, 1) = Textzeile
Zeile = Zeile + 1
Wend
Close #2
Range(Cells(2, 1), Cells(Zeile - 1, 1)).Select
Selection.TextToColumns Destination:=Range("a2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1))
'Prüf = Range("a2")
For n = 2 To Zeile - 1
If IsNumeric(Cells(n, 1)) Then
Prüf = Cells(n, 1)
Else
Range(Cells(n, 1), Cells(n, 7)).Cut
Cells(n, 2).Select
ActiveSheet.Paste
Cells(n, 1) = Prüf
End If
Next n
Range("a1").Select
End Sub

Anzeige
AW: txt-import
30.09.2003 10:22:28
stefan
Hallo Reinhard, ich mache mich gleich mal ans ausprobieren....Vielen Dank schon mal !!!

Gruß

Stefan
AW: txt-import...noch nicht ganz !!
30.09.2003 11:57:44
Stefan
Hallo Reinhard,

ich habe dein Makro getestet. Da ich leider ein Anfänger in puncto Makro bin kann ich e snicht auf meine Anforderungen anpassen. Leider wird die angegebene Datei nicht entsprechend geöffnet und umgewandelt (es tauchen nur die Beispieldaten aus dem Makro auf).

Vielleicht könntest du mir ja nochmal etwas unter die armew greifen.

Vielen Dank

Gruß

Stefan
AW: txt-import...noch nicht ganz !!
30.09.2003 12:16:26
Reinhard
Hallo Stefan,
die folgenden Zeilen kannst du streichen, sie dienten nur zum Anlegen der Testdatei tesst.txt.

Open "c:\temp\tesst.txt" For Output As #1
Print #1, "10001 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Print #1, "XY 777 XY 100 200 150"
Print #1, "10002 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Close #1

Diese Zeile musst du umschreiben, also Pfad und Dateinamen deiner datei angeben:
Open "c:\temp\tesst.txt" For Output As #1

Gruß
Reinhard





Sub test()
Dim Zeile As Integer
Dim Textzeile As String
Dim n As Integer
Dim Prüf As Variant
Zeile = 2
Close
Open "c:\temp\tesst.txt" For Output As #1
Print #1, "10001 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Print #1, "XY 777 XY 100 200 150"
Print #1, "10002 XY 555 XY 100 200 150"
Print #1, "XY 666 XY 100 200 150"
Close #1
Open "c:\temp\tesst.txt" For Input As #2
Range("a1:g65536").ClearContents
While Not EOF(2)
Input #2, Textzeile
Cells(Zeile, 1) = Textzeile
Zeile = Zeile + 1
Wend
Close #2
Range(Cells(2, 1), Cells(Zeile - 1, 1)).Select
Selection.TextToColumns Destination:=Range("a2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1))
For n = 2 To Zeile - 1
If IsNumeric(Cells(n, 1)) Then
Prüf = Cells(n, 1)
Else
Range(Cells(n, 1), Cells(n, 7)).Cut
Cells(n, 2).Select
ActiveSheet.Paste
Cells(n, 1) = Prüf
End If
Next n
Range("a1").Select
End Sub

Anzeige
AW: txt-import...noch nicht ganz !! die Zweite
30.09.2003 13:50:09
Stefan
Hallo Reinhard,

fantastisch. Leider ist das format meiner tabelle nicht so geeignet für das makro.
Dann habe ich leider noch eine verschiebung in meiner mail hier gehabt.
ich versuche mich mal in dein makro einzuarbeiten....
den vom prinzip her arbeitet es völlig korrekt, nur eben nicht so mit meiner tabelle (da kommen auch noch platzhalterzeichen etc. vor, die nicht benötigt werden.

nochmal kurz (da ja die vorherige darstellung nicht ganzz korrekt war
eine zeile enthält zahlreich informationen, wo die erste und dritte spalte momentan im mittelpunkt stehen.

Wert_1 Wert_2 Wert_3...
10001 XY 555
XY 666
XY 756

10002 XY 555
XY 666
XY 756

Die Werte in der Spalte 1 müssen durchgehend sein, da Ergebnis sieht dann so aus:
10001 XY 555
10001 XY 666
10001 XY 756

10002 XY 555
10002 XY 666
10002 XY 756

Dennoich erstmal vielen, vielen dank...ich werde mal versuchen es irgendwie hinzubekommen !

Gruß

Stefan
Anzeige
AW: txt-import...noch nicht ganz !! die Zweite
30.09.2003 14:13:45
Reinhard
Hi Stefan,
dann schreib doch mal noch genauer wie das Format aussieht, wo da die Platzhalter oder sonstiges ist, am besten eine Beispieltabelle hochladen oder hier ein Muster wie
Wert_1 Wert_2 Wert_3...
10001 XY 555
XY 666
XY 756
Und noch ein Tipp wennn du das so schreibst:

<pre>
Wert_1 Wert_2 Wert_3...
10001   XY     555
XY    666
XY    756
</pre>
erscheint es auch so:
Wert_1 Wert_2 Wert_3...
10001   XY     555
XY    666
XY    756

Gruß
Reinhard
AW: txt-import...noch nicht ganz !! die Zweite
30.09.2003 17:13:01
Stefan
Hallo Reinhard,

vielen Dank das du dir so viel Mühe gibst und Geduld mit mir hast :

Anbei eine Darstellung des Berichtformates

https://www.herber.de/bbs/user/1220.txt

Im Prinzip benötigte ich die erste, dritte und letzte Spalte (Spaltengrösse ist durch die gestrichelten Linie markiert). Den Rest brauche ich nicht.
Nur leider gibt dieser Bericht immer nur den ersten wert an (Spalte Wert_1) und listest dann in Spalte Wert_3 die entsprechenden Untergruppen auf. der nachteil besteht nun darin, dass die untergruppen gleiche nummern haben können und nur die verbindung von haupt und untergruppe (Spalte Wert_! und Wert_3) eine eindeutige Zuordnung zulassen. Folglich besteht mein Bemühen darin, eine Liste zu bekommen, die den Wert durchgehen wiedergibt.
Kann man das verstehen ????
Anzeige
AW: txt-import...noch nicht ganz !! die Zweite
01.10.2003 18:36:34
Reinhard
Hi Stefan,
deute ich das richtig, in der einzulesenden Textdatei stehen erst
ca. 10 Zeilen die nicht gebraucht werden??
(123=Nummer xyz=Ziffernfolge)

Danach folgen viele Blöcke, wobei jeder Block bzw. dessen Zeilen so aufgebaut sind:
8 Eintragungen der Form:       123 abc 234 def ghi jkl mno  pqr
mehrere Eintragungen der Form: 234 def ghi jkl mno  pqr
Einen Eintrag der Form:        xyz def ghi jkl mno  pqr
Nach dem Makro soll das dann so aussehen:?
123 abc 234 def ghi jkl mno  pqr
123 abc 234 def ghi jkl mno  pqr
123 abc 234 def ghi jkl mno  pqr
123 abc 234 def ghi jkl mno  pqr
123 abc xyz def ghi jkl mno  pqr
Oder so:?
123 234 pqr
123 234 pqr
123 234 pqr
123 234 pqr
123 xyz pqr

Gruß
Reinhard
Anzeige
AW: txt-import...noch nicht ganz !! die Zweite
01.10.2003 20:03:34
stefan
Hallo Reinhard,

fast...:-)
Es kommen Blattbeschreibung usw. (alles ohne Nutzen für mich)mein Problem liegt darin
x Eintragungen der Form: 123 abc 234 def ghi jkl mno pqr ....
abc 235 def ghi jkl mno pqr ....

die erste Spalte (hier 123) muesste einfach durchgehend angegeben werden, in dieser tabelle wird sie immer nur in der ersten zeile angegeben.
ist irgendwie ein wenig knifflig, aber an der tabelle kann ich leider nix machen. naja, ich habe mich mal darin versucht über mnakro aufzeichnen das Problem zu lösen (funktioniert auch fast, denn leider gibt es noch alphanummerische zeichen die auch so problematisch sind...)
Ich denke mal wir lassen es an dieser stelle. ich möchte deine zeit auch nicht überbeanspruchen. ich werde mich in der nächsten zeit ein wenig in VB einarbeiten, so kann ich dann auch mehr mitreden.

tretzdem vielen dank und bis bald

gruß

stefan
Anzeige
Okay, letzte Tipps
02.10.2003 15:33:35
Reinhard
Hi Stefan,
ich würde als workaround, die Txt-Tabelle nach Excel kopieren.
Dann in Excel, alles Markieren und über "Daten"-->"Text in Spalten"
in Einzelzellen auflösen.
Dann kleine Hilfsmakros erstellen, die etwa folgendes machen:
In einem Markierten Bereich in Spalte A alle Zellen der Zeile um 2 nach rechts verschieben, dann
den darüber stehenden Wert in A in die markierte A-spalte einfügen .
D.h. kleine Hilfsmakros auf Commandbuttons legen, die dir erlauben schnell manuell Änderungen in der Tabelle durchzuführen auch wenn die tabelle groß sein mag.
Gruß
Reinhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige