Hallo Kammera, leider komme ich erst heute dazu, dein Problem anzugehen. Ich hoffe, ich habe das Problem und deine Antworten auf meine Fragen richtig verstanden.
Voraussetzung: Alle zu durchsuchenden Arbeitsmappen befinden sich in dem Verzeichnis, in dem auch die aktive Arbeitsmappe ist.
Auf dem aktiven Tabellenblatt ist die Zelle markiert, nach dessen Inhalt in den anderen Arbeitsmappen im Tabellenblatt 1 in der Spalte 1 gesucht werden soll.
Solltest du das Makro auf dem VBA-Bildschirm starten, musst du nach Ende des Programms nach Excel wechseln.
Achtung: Die Laufzeit kann je nach Anzahl der Suchvorgänge lanf sein. Ein Bildschimupdating erfolgt während der Laufzeit nicht
Sub Begriffsuchen()
Application.ScreenUpdating = False
such = ActiveCell
r = ActiveWorkbook.FullName
pfad = ActiveWorkbook.Path
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ords = FSO.GetFolder(pfad)
Set ExDat = ords.Files
For Each ex In ExDat
If InStrRev(LCase(ex), ".xl") Then
If ex <> ActiveWorkbook.FullName And InStr(ActiveWorkbook.FullName, "$") = 0 Then
Workbooks.Open Filename:=pfad + "\" + ex.Name
For i = 1 To Workbooks(ex.Name).Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
If such = Workbooks(ex.Name).Sheets(1).Cells(i, 1) Then
Cells(i, 6).Select
Application.ScreenUpdating = True
Exit Sub
End If
Next
Workbooks(ex.Name).Close False
End If
End If
Next
End Sub
|