Makro:Einzulesende Dateien filtern

Bild

Betrifft: Makro:Einzulesende Dateien filtern
von: Paul Schulze
Geschrieben am: 11.06.2015 17:37:06

Ich möchte mit einem Makro Dateien als Tabellenblatt in eine Excel Mappe importieren.
Bisher hab ich folgendes:


Sub Indizierungsdateien_importieren()
Dim dateien, i
Dim wkb As Workbook
dateien = Application.GetOpenFilename _
(MultiSelect:=True)
If IsArray(dateien) Then
    For i = 1 To UBound(dateien)
        Workbooks.Open dateien(i), local:=True
        Set wkb = ActiveWorkbook
        With ThisWorkbook
            ActiveSheet.UsedRange.Copy
            .Sheets.Add After:=.Sheets(.Sheets.Count)
            .Sheets(.Sheets.Count).Name = wkb.Name
            .Sheets(wkb.Name).Range("A1").PasteSpecial
        End With
        Application.CutCopyMode = False
        wkb.Close False
    Next i
End If
End Sub

Das funktioniert bisher auch super. Allerdings brauch ich nicht alle Dateien aus dem Ordner sondern nur die Dateien die am Ende ihres Namens "_mean" haben. Gibt es eine Möglichkeit einen Filter zu setzen und nur die gewünschten Dateien anzuzeigen?

Bild

Betrifft: AW: Makro:Einzulesende Dateien filtern
von: fcs
Geschrieben am: 11.06.2015 19:11:56
Hallo paul,
zum beispiel so könnte es funktionieren.
Gruß
Franz

Sub Indizierungsdateien_importieren()
  Dim dateien, i, iPos As Integer
  Dim wkb As Workbook
  dateien = Application.GetOpenFilename _
  (MultiSelect:=True)
  If IsArray(dateien) Then
      For i = 1 To UBound(dateien)
        iPos = InStrRev(dateien(i), "_mean")
        If iPos > 0 Then
        If Mid(dateien(i), iPos, Len("_mean") + 1) = "_mean." Then
          Workbooks.Open dateien(i), local:=True
          Set wkb = ActiveWorkbook
          With ThisWorkbook
              ActiveSheet.UsedRange.Copy
              .Sheets.Add After:=.Sheets(.Sheets.Count)
              .Sheets(.Sheets.Count).Name = wkb.Name
              .Sheets(wkb.Name).Range("A1").PasteSpecial
          End With
          Application.CutCopyMode = False
          wkb.Close False
        End If
        End If
      Next i
  End If
End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro:Einzulesende Dateien filtern"