3.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

folgendermaßen verhält sich Excel (zumindest bei mir):
Ich habe ein Textfile, welches als Begrenzer das Zeichen | hat. Wenn ich den kompletten Text kopiere und in Excel einfüge, wird der Inhalt 1:1 eingefügt (also mit Begrenzer und alles steht in der 1. Spalte). Dann kann ich den Inhalt mit "Daten/Text in Spalten" auf die gewünschten Spalten verteilen.

Ab diesem Zeitpunkt macht Excel beim Einfügen eines derartigen Textes die Aufteilung in Spalten automatisch (auch in ganz anderen Dateien) - aber NUR solange ich Excel nicht zwischendurch geschlossen habe. Denn nach dem Schließen von Excel muss ich erneut EINMALIG über "Daten/Text in Spalten" selbst Hand anlegen.

Gibt es dafür eine Erklärung/Einstellung? Denn das Problem dabei ist, dass ich in meinem VBA-Code dann abfangen muss, ob Excel die Verteilung auf die Spalten vornehmen soll oder nicht.

Danke für eure Infos, Gruß
Jojo

6 Antworten

0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Das sollte doch wohl an der Definition des Feldbegrenzers liegen:
Wenn der VORHER richtig gesetzt wird, dann müsste es gleich funktionieren.
0 Punkte
Beantwortet von
Hallo,

leider nicht! Ich habe mehrere Tests durchgeführt - Textfile blieb immer gleich, Excel wurde geschlossen etc. (wie oben beschrieben). Excel verhält sich unterschiedlich.

Gruß
Jojo
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Jojo,

für solche Sachen ist in Excel eigentlich ein anderer Weg vorgesehen und der dürfte dann auch nicht mit deinem VBA-Code kollidieren.

Öffne das Text-File aus Excel heraus über den Öffnen-Dialog, damit die *.txt angezeigt wird musst du dabei natürlich als Dateityp "Alle Dateien (*.*)" einstellen. Es startet automatisch der Textkonvertierungs-Assistent von Excel welchem du dann lediglich dein Trennzeichen "|" als Anderes Trennzeichen mitteilen musst. Excel erstellt dann aus dem Textfile automatisch eine entsprechende Tabelle welche du dann nur noch im Format *.xls abspeichern musst.

Damit wird die Verwendung von "Daten/Text in Spalten" überflüssig und kann sich auch nicht mehr unerwünscht auf andere Tabellen 'vererben'.

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,

danke für die Antwort. Leider löst das mein Problem nicht. Während des Ablaufs eines VBA-Codes muss ein User ein bestimmtes Textfile öffnen, welches Daten aus einer anderen Anwendung enthält, zu der es leider keine Schnittstelle gibt. Diese Daten müssen an einer bestimmten Stelle eingefügt werden, weil mit diesen bestimmte Auswertungen laufen. Deshalb ist auch "Daten/Text in Spalten" notwendig.

Das "Problem" habe ich bereits in meinem VBA-Code gelöst, aber meine grundsätzliche Frage war, ob ich das auch mit irgendeiner Einstellung beheben kann, die ich noch nicht kenne. Oder ob jemand schon die gleiche Erfahrung gemacht und dafür dann eine andere Lösung gefunden hat.

Trotzdem vielen Dank, Gruß
Jojo
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Jojo,

es ist für mich auch nach dieser Ergänzung immer noch nicht ersichtlich ob der Inhalt des Textfiles per VBA eingelesen, oder dieses manuell geöffnet und auch manuell in die Tabelle kopiert wird.

Wenn die ganze Sache mit dem Kopieren nicht per Script sondern manuell abläuft kannst du trotzdem wie von mir beschrieben vorgehen. Dazu dann aber das Textfile in einer weiteren Excel-Instanz öffnen, die mit Hilfe des Assistenten erstellte Tabelle markieren mit Strg+C in die Zwischenablage übernehmen, in der Zieltabelle das linke obere Feld des Bereiches aktivieren in dem die Daten eingefügt werden sollen und dann mit Strg+V den Inhalt Zwischenablage einfügen.

Auch dann entfällt die Notwendigkeit für "Daten/Text in Spalten" und die zweite Excel-Instanz kannst du dann ohne Speichern der 'Hilfs'-Tabelle gleich wieder beenden.

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,

ich verstehe schon, was du meinst. Das Kopieren findet manuell statt (während des Ablaufs des VBA-Codes wird der User u.a. aufgefordert, eine bestimmte Datei zu öffnen, Daten zu kopieren und in Excel einzufügen - danach läuft der VBA-Code weiter).

D.h. der Aufwand ist gleich - ob ich das Textfile öffne, Daten kopiere und in Excel einfüge oder ob ich das Textfile in Excel öffne und von dort dann Daten kopiere und einfüge, kommt auf das gleiche raus ...

Ich lass' es einfach, wie es ist und wundere mich, warum Excel nicht zu jederzeit gleich reagiert.

Danke nochmal, Gruß
Jojo
...