Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Textdatei einlesen
15.05.2008 16:16:49
Nona
Guten Tag!
Ich habe ich die Aufgabe, alle Datensätze einer txt-Datei in mehrere Excel-Tabellen zu importieren. Im Unterschied zu den mir bekannten Code-Beispielen im Netz wird ein Datensatz der txt-Datei nicht in eine einzige Zelle importiert, sondern in mehrere Zellen verteilt. Und zwar so, dass jeder Feldinhalt eines Datensatzes der txt-Datei in eine bestimmte Zelle einer Tabelle kommt.
Nach meinen bisherigen Überlegungen stehe ich vor zwei Problemen, die ich nicht lösen kann:
Ich muss für den Datenimport einen dynamischen mehrdimensionalen Array anlegen, bei dem die Anzahl der Zeilen des Arrays die Anzahl der Datensätze in der txt-Datei entspricht. (Die Anzahl der Spalten bzw. Datenfelder ist bekannt und fest.) Kann mir bitte jemand sagen, ob und wie ich mit VB die Anzahl der Datensätze der txt-Datei ermitteln kann, um so das dynamische mehrdimensionale Array erstellen zu können?
Nachdem eine Excel-Tabelle mit Importen gefühlt wurde, muß der Datenimport in einer neuen Excel-Tabelle fortgeführt werden. Da aber die Excel-Tabelle ein Formular ist, muß die Excel-Tabelle, so wie sie vor dem Datenimport aussieht, kopiert werden, also einschließlich des in den Tabellenblättern enthaltenen stataischen Textes. Kann mir bitte jemand sagen, wie man mit Text versehene Excel-Tabellen kopiert bzw. erstellt?
Da ich seit Jahren nicht mehr VB programmiert habe und mich gar nicht in der Programmierung von Excel auskenne, würde ich mich freuen, wenn mir jemand eine leicht verständliche Antwort schreiben könnte.
Vielen Dank!!
Nona

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei einlesen
15.05.2008 16:55:00
Andi
Hi,
ich verstehe nicht, wozu Du dieses Array brauchst.
Wenn Du eine txt-Datei aus excel öffnset, dann kommt automatisch der Import-Assistent. Wenn Du hier nicht feste Breite wählst, sondern getrennt, und im nächsten Schritt dann das passende (zur Not selbstdefinierte) Trennzeichen, dann hast Du die Daten in separaten Zellen stehen. Wenn Du dann dabei noch den Makro-Rekorder mitlaufen lässt, hast Du auch den Code dazu.
Schönen Gruß,
Andi

AW: Textdatei einlesen
15.05.2008 17:22:00
Nona
Hallo Andi!
Die Makroaufzeichnung hilft mir nicht, weil durch sie alle Feldinhalte der Textdatei nebeneinander stehen. Ich muss aber die Feldinhalte verteilt haben, etwa so:
1. Datensatz:
A20 = Feldinhalt1, A21 = Feldinhalt2, B21 = Feldinhalt3, A22 = Feldinhalt4, B22 = Feldinhalt5
2. Datensatz:
A26 = Feldinhalt1, A27 = Feldinhalt2, B27 = Feldinhalt3, A28 = Feldinhalt4, B28 = Feldinhalt5
usw.
neues Tabellenblatt
A20 = Feldinhalt1, A21 = Feldinhalt2, B21 = Feldinhalt3, A22 = Feldinhalt4, B22 = Feldinhalt5
2. Datensatz:
A26 = Feldinhalt1, A27 = Feldinhalt2, B27 = Feldinhalt3, A28 = Feldinhalt4, B28 = Feldinhalt5
usw.
Zudem verstehe ich den Makrocode nicht. Den VBa-Code in Beispielen kann ich wenigstes mit der Hilfefunktion nachvollziehen.
Viele Grüße
Nona

Anzeige
Ja, der ist wie recorderüblich bestimmt in...
15.05.2008 21:20:45
Luc:-?
...Z1S1-Schreibweise (engl R1C1), Nona!
Kann man denn nicht beim Import auch Leerspalten einfügen? Man kann doch auch vom Assi vorgeschlagene Spalten ändern wie bspw teilen oder verbinden!
Ach, gerade sehe ich, dass deine Verteilung ganz irregulär ist! Dann musst du dein Makro entsprechend umschreiben...
Tipp:
Lies alles ganz regulär ein und zeichne auf. Dann weißt du ja anschließend, wo was hingekommen ist. Anschließend änderst du auf reguläre A1-Schreibweise Range("zieladressevonbis").Formula = ... und testest das. Wenn das gleiche Ergebnis rauskommt, kannst du dich daran machen, neue Zieladressen zu formulieren.
Ansonsten bzw ohne Makro müsstest du in 2 Schritten arbeiten:
1. Einlesen
2. an Zieladresse transportieren (geht dann auch mit Formeln)
Gruß Luc :-?
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige