AW: nochmal Nachfrage
18.03.2020 12:35:18
UweD
Hallo
dann kann ich dir das anbieten
- Erstelle ein normales Modul und kopore den Code dorthinein
- Erzeuge dir auf dem Tabellenblatt einen Button und weise Dem dann das Makro zu.
Modul1
Option Explicit
Sub Datei_Verzeichnis()
Dim Dlg As FileDialog
Dim Datei As String, WB As Workbook, TB1 As Worksheet, TB2 As Worksheet
Dim Suchwort As String, SuchSp As Integer
'anpassen***
Set TB1 = ThisWorkbook.Sheets("Tabelle1")
Suchwort = "T.Small Autosomal"
SuchSp = 4 'suchen in Spalte D
'***
'Datei auswählen
Set Dlg = Application.FileDialog(msoFileDialogFilePicker) 'Datei wählen
With Dlg
.Filters.Add "Excelfiles", "*.xls*"
.InitialFileName = ThisWorkbook.Path 'Welches Verzeichnis soll voreingestellt sein
End With
If Dlg.Show = True Then
'Verhindert Bildschirmzappeln
Application.ScreenUpdating = False
'Name der ausgewählten Datei
Datei = Dlg.SelectedItems(1)
'Datei öffnen
Set WB = Workbooks.Open(Datei)
Set TB2 = WB.Sheets(1)
'Filtern
TB2.Columns(SuchSp).AutoFilter Field:=1, Criteria1:=Suchwort
With TB1
'Reset Zielbereich
.UsedRange.ClearContents
'gefilterte Zeilen kopieren
TB2.Cells(1, 1).CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Copy .Cells(1, 1)
'Datei schließen ohne Speichern
WB.Close False
'überflüssige Spalten löschen
.Columns(1).Resize(, SuchSp - 1).Delete xlLeft
.Columns(2).Delete xlLeft
'Duplikate entfernen
.Columns(1).Resize(, 2).RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
'Spaltenbreite
.Columns(1).Resize(, 2).EntireColumn.AutoFit
End With
MsgBox "Fertig"
End If
End Sub
LG UweD