Thema Datum  Von Nutzer Rating
Antwort
27.11.2015 08:44:47 joerg
NotSolved
27.11.2015 11:52:22 Gast38073
NotSolved
27.11.2015 20:27:50 joerg
NotSolved
27.11.2015 22:18:44 Gast38157
NotSolved
Rot mehrere Textdateien per Makro mit "Opentext "in Excel importieren
28.11.2015 12:59:58 Gast71553
NotSolved
28.11.2015 22:33:59 joerg
NotSolved
28.11.2015 23:21:19 Gast42519
NotSolved
29.11.2015 11:42:55 Gast29586
NotSolved
29.11.2015 19:35:46 joerg
NotSolved
30.11.2015 11:11:58 Gast42392
*****
Solved
30.11.2015 18:35:18 joerg
NotSolved
29.11.2015 21:37:54 Gast19665
NotSolved

Ansicht des Beitrags:
Von:
Gast71553
Datum:
28.11.2015 12:59:58
Views:
768
Rating: Antwort:
  Ja
Thema:
mehrere Textdateien per Makro mit "Opentext "in Excel importieren

Hallo!

Also jetzt das Ganze nochmal mit lesbarer Formatierung. Bis auf ein paar Sachen war der Code bei dir eigentlich richtig. Das mit dem fehlenden \  und das <> bleiben muss hatte ich ja schon geschrieben. Zu den Variablen nochmal.

pfad nimmer den Ablagepfad auf , da wo deine TXT Dateien liegen.

datei nimmt den Namen der TXT Datei auf so es eine gibt (Bezeichnung vllt. unglücklich gewählt), der Name wird automatisch über den DIR Befehl gesucht. Mann muss ihn nicht händisch eingeben.

Dein Workbooks.Opentext ist jetzt mit eingebaut. Hattest da eigentlich nur vergessen noch den Pfad vorher anzufügen.

So sollte es eigentlich aussehen. Habe mal ein paar Kommentare mehr reingemacht, damit man ungefähr weiß, was welcher Schritt macht. Die kann man ja nach dem kopieren wieder rauslöschen.


Sub auslesen()
Dim pfad As String
Dim datei As String
Dim speicherort
Dim struktur As Object

'die nächste Zeile wäre die Eingabe des Ablagepfades über eine INPUT Box
'pfad = inputbox "Pfad der einzulesenden Dateien angeben!"

'das hier wäre die Alternative, hier würde man über den Ordner aussuchen können
MsgBox "Bitte im nächsten Fenster den entsprechenden Ordner auswählen und mit OK bestätigen!"
Set struktur = Application.FileDialog(msoFileDialogFolderPicker)
With struktur
    .Title = "Pfad suchen"
    '.InitialFileName = "Y:\Eigene Dateien"  'Anfangsordner für suche, kann man einstellen muss es aber nicht
                If .Show = -1 Then
                   For Each speicherort In .SelectedItems
                          pfad = speicherort
                   Next speicherort
                End If
End With
'in pfad ist nun der Pfad zu den TXT Dateien


'prüfen ob am Ende ein \ vom Pfad existiert, wenn nicht anhängen
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"

'hier wird gesucht, ob de Pfad existiert und dort txt Dateien vorhanden sind, die letzte wird angezeigt, andere Dateitypen werden ignoriert
datei = Dir(pfad & "*.txt")
'in Datei ist nun entweder ein Dateiname oder wenn keine solche Datei existiert ""
' bei Dateinamen in die Schleife gehen und in Excel einfügen, ansonsten passiert nichts
Do While datei <> ""
    ' Filename ist der Pfad zu den TXT Dateien verkettet mit Dateiname, hierfür war das einfügen von \ notwendig, sonst gibt es einen Fehler
    Workbooks.OpenText Filename:=pfad & datei, Semicolon:=True
    ' ggf. noch speichern, oder was anderes machen
    
    datei = Dir   'ruft das nächste Element auf, wenn es eins gibt steht in datei wieder der Name sonst halt ""
Loop
End Sub

 

Das sollte  jetzt passen. Die TXT Dateien werden je in ein EXCEL-Workbook gepackt. Die müsstest du dann halt noch ggf. weiterbearbeiten (bspw. speichern etc.). Theoreitsch könntest du die im selben Ordner (wo die TXT liegen) speichern und dann die TXT löschen. Den Code stören andere Dateitypen im selben Ordner nicht.

Wünsche dann schonmal nen schönen 1.Advent

Gruß Matthias


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.11.2015 08:44:47 joerg
NotSolved
27.11.2015 11:52:22 Gast38073
NotSolved
27.11.2015 20:27:50 joerg
NotSolved
27.11.2015 22:18:44 Gast38157
NotSolved
Rot mehrere Textdateien per Makro mit "Opentext "in Excel importieren
28.11.2015 12:59:58 Gast71553
NotSolved
28.11.2015 22:33:59 joerg
NotSolved
28.11.2015 23:21:19 Gast42519
NotSolved
29.11.2015 11:42:55 Gast29586
NotSolved
29.11.2015 19:35:46 joerg
NotSolved
30.11.2015 11:11:58 Gast42392
*****
Solved
30.11.2015 18:35:18 joerg
NotSolved
29.11.2015 21:37:54 Gast19665
NotSolved