Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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
Inhaltsverzeichnis

Blätter einer Mappe durchsuchen funktioniert nicht

Blätter einer Mappe durchsuchen funktioniert nicht
15.09.2015 12:36:14
Werner
Hallo Zusammen,
ich habe eine Excelmappe (Excel 2013) mit ca. 85 Blättern.
Um die richtigen Blätter zu finden, prüfe ich, aus einer anderen Excelmappe heraus, alle Blätter in einer for-i-next Schleife zunächst auf Existenz eines Schlüsselwortes in einer bestimmten Zelle (A3). Das Schlüsselwort besteht aus zwei Zeichen (FF, NF, SF).
Das Verrückte ist, dass dieses durchsuchen bei den ersten Blättern noch funktioniert und dann gibt die Suchfunktion irgendwann einen Zellinhalt aus, der in der Zelle im gerade durchsuchten Blatt schlicht nicht vorhanden ist, sprich die Zelle ist leer aber die Funktion gibt "SF" aus:
test2 = Workbooks(filename_src).Worksheets(i).Range(criteria_cell).Value
Ich habe die Variablen in der o.g. vba Zeile, die die Zelle ausliest, probeweise durch Werte ersetzt, trotzdem enthält test3 den o.g. nicht existierenden Inhalt.
test3 = Workbooks("test1.xlsm").Worksheets(36).Range("A3").Value
Ich habe dann das betroffene Blatt Nr. 36 gelöscht und ein neues mit demselben Namen (oder einem anderen) erzeugt, das brachte ebenfalls keine Änderung.
Wenn ich hingegen den o.g. vba Code auf eine ganz neu angelegte Excelmappe mit ca. 40 Blättern anwende (wieder aus einer zweiten Arbeitsmappe heraus), dann funktioniert er genau wie erwartet, d.h. die Blätter werden entsprechend dem Eintrag in der Zelle A3 richtig erkannt.
Eine neue Arbeitsmappe anzulegen ist wegen den Inhalten der Blätter der Arbeitsmappe aber leider keine praktikable Möglichkeit.
Ich hoffe nun, dass es auf Basis des geschilderten Problems vielleicht jemanden gibt, dem dazu etwas einfällt.
Im Voraus Danke für Eure Hilfe!
Grüße
Werner

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter einer Mappe durchsuchen funktioniert n
17.09.2015 16:37:46
Matthias
Hallo Werner,
.Worksheets(36). arbeitet mit einem Index (hier 36), kein Name. Dies ist abhängig von der Reihenfolge der Blätter wie du sie angeordnet hast (hier das 36. Blatt von links, ausgeblendete Blätter eingeschlossen!). Eventuell liegt da der Fehler.
Wenn das ganze mit dem Index trotzdem nicht funktioniert, kannst du aber auch eine For-Schleife nutzen:
Dim wks As Worksheet
For Each wks in Workbooks("Test1.xlsm")
'Blätter die nicht berücksichtigt werden sollen
If wks.Name = "Auswertung" OR wks.Name = "Übersicht" Then Goto Marke1
'Prüfung ob A3 SF,NF oder FF enthält
test3 = wks.Range("A3").value
If test3 = "SF" OR test3 = "NF" Or test3 = "FF") Then
'... deine Aufgaben abarbeiten
End If
Marke1:
Next wks
lg Matthias

Anzeige
AW: Blätter einer Mappe durchsuchen funktioniert n
17.09.2015 16:50:02
Daniel
Hi
hierzu ergänzend:
Wenn du deine Tabellenblätter nach Nummern benannt hast (dh du hast die Zahlen 1-x auf die jeweiligen Reiter geschrieben) und du willst sie über diesen Namen ansprechen (dh du willst das Blatt, auf dessen Reiter "36" steht) dann musst du in der Klammer die 36 als Text angeben:
Worksheets("36")

schreibst du die 36 als Zahl hin, bekommst du das 36. Tabellenblatt aus der Liste (Reihenfolge der Tabs von links)
Worksheets(36)
wenn du jetzt die nach Zahlen benannten Blätter über eine Variable in einer Schleife ansprechen willst, dann ist die Schleifenvariable natürlich eine Zahl. Wenn du trotzdem die Blätter entsprechend ihrer Benennung über die Schleife ansprechen willst, dann musst du diese Zahl in einen Text wandeln, das geht dann so
i = 36
Worksheets(CStr(i))
oder
Worksheetrs(i & "")

denn mit
Workheets(i)

bekommst du dann wieder das 36. Blatt der Liste.
Gruß Daniel
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige