Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
564to568
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mappen nach blatt durchsuchen

mappen nach blatt durchsuchen
13.02.2005 12:00:41
andi
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mappen nach blatt durchsuchen
13.02.2005 12:14:53
andre
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

Anzeige
AW: mappen nach blatt durchsuchen
14.02.2005 05:20:31
andre
... 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
AW: mappen nach blatt durchsuchen
13.02.2005 18:40:18
Reinhard
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige