mappen nach blatt durchsuchen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: mappen nach blatt durchsuchen
von: andi
Geschrieben am: 13.02.2005 12:00:41
Hi,
habe gestern folgendes Makro von Boris erhalten:
Option Explicit


Sub blatt_vorhanden()
Dim Ws As Worksheet, Wb As Workbook, strWb As String
Dim bolExist As Boolean
Dim strSheet As String
strSheet = "Hallihallo" 'Der Name des gesuchten Blattes
For Each Wb In Workbooks
    For Each Ws In Wb.Worksheets
        If Ws.Name = strSheet Then
            bolExist = True
            strWb = Wb.Name
            Exit For
        End If
    Next Ws
Next Wb
If bolExist Then
    MsgBox "Blatt " & strSheet & " gefunden in " & strWb, , "Treffer..."
Else
    MsgBox "Blatt " & strSheet & " nicht gefunden...", , "Fehlanzeige"
End If
End Sub

Funktioniert auch wunderbar, allerdings kommt jetzt mein Problem: Es müssen alle Mappen geöffnet sein um das Blatt zu suchen.
Habe eigentlich aus einer Mappe 3 gemacht. Die eine Mappe hatte 10 kb...
Ich wollte die Geschwindigkeit verbessern. Nun müssen ja auch alle 3 offen sein, um zu suchen. Dann hat dies ja nichts gebracht.
Gibt es eine Möglichkeit, erst die eine Mappe zu durchsuchen(also nur die Erste öffnen), bei Fund abbrechen und Blatt selektiern, sonst nächste Mappe öffnen, durchsuchen usw.
Gibt es sicher, bloss ich komme nicht drauf...
Wer kann mir helfen?
Grüße Andi
Bild

Betrifft: AW: mappen nach blatt durchsuchen
von: andre
Geschrieben am: 13.02.2005 12:14:53
Hallo Andy,
wird nur eine zeile mehr:

Sub blatt_vorhanden()
Dim Ws As Worksheet, Wb As Workbook, strWb As String
Dim bolExist As Boolean
Dim strSheet As String
strSheet = "Hallihallo" 'Der Name des gesuchten Blattes
For Each Wb In Workbooks
    For Each Ws In Wb.Worksheets
        If Ws.Name = strSheet Then
            bolExist = True
            strWb = Wb.Name
            Exit For
        End If
    Next Ws
  if bolExist = True then exit for 'hier diese Zeile
Next Wb
If bolExist Then
    MsgBox "Blatt " & strSheet & " gefunden in " & strWb, , "Treffer..."
Else
    MsgBox "Blatt " & strSheet & " nicht gefunden...", , "Fehlanzeige"
End If
End Sub

Bild

Betrifft: AW: mappen nach blatt durchsuchen
von: andre
Geschrieben am: 14.02.2005 05:20:31
... hab die Aufgabe nicht ganz bis zu Ende gelesen, Asche auf mein Haupt. War aber je nachdem wo das Blatt lag wenigstens etwas schneller als das Original ... Na ja, knapp daneben ist auch vorbei :-(
Grüße, Andre
Bild

Betrifft: AW: mappen nach blatt durchsuchen
von: Reinhard
Geschrieben am: 13.02.2005 18:40:18
Hi Andi,
habe das von boris angepasst.
Option Explicit
Option Base 1

Sub blatt_vorhanden()
Dim Ws As Worksheet, Wb As Workbook, strBook As Variant
Dim bolExist As Boolean, n As Integer, strWb As String
Dim strSheet As String
'strSheet = "Hallihallo" 'Der Name des gesuchten Blattes
strSheet = "HallelujasoagI" 'Der Name des gesuchten Blattes
strBook = Array("Mappe1.xls", "Mappe2.xls", "Mappe3.xls")
For n = 1 To UBound(strBook)
    Workbooks.Open strBook(n)
    For Each Ws In ActiveWorkbook.Worksheets
        If Ws.Name = strSheet Then
            bolExist = True
            strWb = ActiveWorkbook.Name
            GoTo Ende
        End If
    Next Ws
    Workbooks(strBook(n)).Close
Next n
Ende:
If bolExist Then
    MsgBox "Blatt " & strSheet & " gefunden in " & strWb, , "Treffer..."
    'Workbooks(strBook(n)).Close
Else
    MsgBox "Blatt " & strSheet & " nicht gefunden...", , "Fehlanzeige"
End If
End Sub

Gruß
Reinhad
 Bild

Beiträge aus den Excel-Beispielen zum Thema "mappen nach blatt durchsuchen"