Registriert seit: 11.02.2016
Version(en): 2013
13.09.2018, 12:32
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 12:32 von Matthias3L.)
Hallo,
Ich möchte eine tect datei in Excel einlesen. Die Spalten in der Text Datei sollen automatisch erkannt werden, als Trennzeichen wird ; verwendet. Jede Spalte hat eine Überschrift und ich benötige nicht alle. Nur: Artikelbez. / Preis/ Lieferant
Über den Menüpunkt Daten txt/csv importieren kann man das bequem machen ich möchte aber eine Lösung mit vba. Den Code den ich mit dem Makrorekorder aufgezeichnet habe ist schonmal gut, aber:
Der Name der Textdatei ist festgelegt und auch der Pfad. Es soll sich ein Windows Explorer Fenster öffnen in dem ich die .txt Datei auswählen kann. Ich habe versucht das zu ändern, leider ist es mir nicht gelungen. Kann mir jemand weiterhelfen?
Gruß
Matthias
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
13.09.2018, 14:44
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 14:44 von MisterBurns.)
Zitat:Kann mir jemand weiterhelfen?
Na klar. Aber warum postest du nicht deinen aufgezeichneten Code? Sollen wir uns den aus den Fingern saugen? Mit mittlerweile 21 Beiträgen solltest du wissen, dass das so nichts wird mit der Hilfe.
Schöne Grüße
Berni
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
13.09.2018, 14:57
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 14:57 von RPP63.)
Moin!
Schau mal hier, incl. auf Dein Beispiel passendem Code:
https://docs.microsoft.com/de-de/office/...enFilenameVor den Codezeilen wechselst Du noch per
ChDir "DeinPfad" ins entsprechende Startverzeichnis.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
Code:
Sub M_snb()
With Application.FileDialog(1)
.FilterIndex = 6
If .Show Then .Execute
End With
End Sub
PS. Verzichte im VBA immer auf 'ChDir'
Registriert seit: 11.02.2016
Version(en): 2013
13.09.2018, 15:11
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 15:12 von Matthias3L.)
Erstmal vielen Dank.
Ja ich hätte den Beitrag wieder löschen müssen, weil
Ich den Code im Moment nicht hochladen kann, erst heute abend ist es möglich. Ich dachte es ginge, tut mir leid deswegen.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Du hast doch bereits 2 Lösungen!
Nutze die erst mal.
@snb:
Was ist Deiner Meinung nach "böse" an ChDir?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 11.02.2016
Version(en): 2013
13.09.2018, 15:59
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 15:59 von Matthias3L.)
Mit dem Code wird die gesamte Text Datei eingelesen, soweit war ich schon. Der Inhalt soll auf die Spalten aufgeteilt werden. Ok ich lade meinen Code später hoch.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
13.09.2018, 16:05
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 16:06 von RPP63.)
Die Antworten bezogen sich auf Deine Anforderung:
Zitat:Der Name der Textdatei ist festgelegt und auch der Pfad. Es soll sich [aber] ein Windows Explorer Fenster öffnen in dem ich die .txt Datei auswählen kann.
Das wirst Du doch in Deinen Rekordercode eingebaut bekommen?Klar, Du brauchst zusätzlich den Textimport-Assi.
Anyway kannst Du Dich bei Problemen gerne noch mal melden.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
13.09.2018, 16:37
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2018, 16:38 von snb.)
(13.09.2018, 15:46)RPP63 schrieb: @snb:
Was ist Deiner Meinung nach "böse" an ChDir?
Ich bin nich 'böse' ..... ;)
In Application.filedialog verwendet man .initialfilename ohne dass das CurDir geändert wird.
Ich bewerte ChDir wie 'Select' und 'Activate': in VBA kann man jeden Folder ansprechen n'importe welche Folder das CurDir ist.
Also: eher überflüssig als 'böse'.
Registriert seit: 11.02.2016
Version(en): 2013
Ja ich bekomme es eingebaut, ok dankeeee