Collapse column

Autor Thema: Textdateien in excel einfügen mit vba  (Gelesen 409 mal)

Offline eta232

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2010
Textdateien in excel einfügen mit vba
« am: März 23, 2017, 21:31:51 Nachmittag »
Hallo,
ich möchte diverse textdateien in excel einfügen, mehrere Dateien aus einem auszuwählendem Ordner. Jede Datei soll sein eigenes Sheet bekommen und mit dateinamen benannt werden. Im Anschluss will ich aus deisen Sheets diverse zellen auslesen und in eine art tabelle auflisten (5 Werte pro datei in Zeilen nebeneinander).
Folgende Codes nutze ich bereits:

Dateien einfügen:
Sub Datei_Importieren()
      Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
      Const cstrDelim As String = ";" 'Trennzeichen
      With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Datei wählen"
        .InitialFileName = "hier kommt pfad rein*.*"  'Pfad anpassen
        .Filters.Add "CSV-Dateien", "*.*"
        If .Show = -1 Then
          strFileName = .SelectedItems(1)
        End If
       
      End With
      If strFileName <> "" Then
        Workbooks.OpenText Filename:=strFileName, DataType:=xlDelimited, Semicolon:=True
        ActiveSheet.Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
       
      End If
     
    End Sub


und zum auslesen der Werte:

Sub Daten_auslesen_neu()
    ThisWorkbook.Worksheets("Tabelle1").Range("d9") = ThisWorkbook.Worksheets("Test_06P").Range(" _
    a19")
        [d9] = Right(Range("D9"), 4)
    ThisWorkbook.Worksheets("Tabelle1").Range("b9") = ThisWorkbook.Worksheets("Test_06P").Range(" _
    a200")
        [b9] = Right(Range("b9"), 9)
    ThisWorkbook.Worksheets("Tabelle1").Range("c9") = ThisWorkbook.Worksheets("Test_06P").Range(" _
    a201")
        [c9] = Right(Range("c9"), 4)
    ThisWorkbook.Worksheets("Tabelle1").Range("e9") = ThisWorkbook.Worksheets("Test_06P").Range(" _
    a210")
        [e9] = Right(Range("e9"), 7)
       
    End Sub

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.