Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Probleme mit For Schleife

Probleme mit For Schleife
28.07.2004 10:37:33
Frankk
Hallo zusammen,
ich habe folgendes Problem. Ich durchsuche alle Arbeitsbätter einer Mappe
For Each objBlatt In ActiveWorkbook.Worksheets
NExt
Anschließend will ich das ganze nocheinmal machen. Wieder mit
For Each objBlatt In ActiveWorkbook.Worksheets
NExt
Also direkt zweimal hintereinander.
Dann kommt aber immer die Fehlermeldung:
"Laufzeitfehler 438, Objekt unterstützt die Eigenschaft oder Methode nicht"
Woran liegt denn das?
Gruß
Frank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit For Schleife
Reinhard
Hi Frank,
an
For Each objBlatt In ActiveWorkbook.Worksheets
NExt
liegt das nicht, poste mal den ganzen Code und benenne die Stelle wo der Fehler auftritt.
Gruß
Reinhard
AW: Probleme mit For Schleife
Frank
Hallo,
hier mal der Ausschnitt:
Sub suchen
'Prüfen, ob Katalogblatt bereits existiert
Set objSuchKatalogblatt = GetWorksheet(ZuSuchenderBegriffSuchkatalogblattName)
'Wenn SuchKatalogblatt nicht existiert, dann...
If objSuchKatalogblatt Is Nothing Then
'Hier wird nochmal geprüft, ob es bereits ein Suchkatalogblatt mit dem Namen gibt, der gerade
'aktuell angelegt werden soll, weil Excel nicht zwischen Groß-und Kleinschreibung bei
'Tabellenblattnamen unterscheidet.
'Es werden alle Tabellenblätter der Arbeitsmappe durchlaufen
For Each objBlatt In ActiveWorkbook.Worksheets
'Wenn der Tabellenblattname nicht "Übersicht" ist....
If objBlatt.Name "Übersicht" Then
'Wenn die ersten fünf Buchstaben des Tabellenbatt-Namens "Such_" sind...
If Left(objBlatt.Name, 5) = "Such_" Then
Vergl = StrComp(objBlatt.Name, ZuSuchenderBegriffSuchkatalogblattName, 1)
'Wenn es bereits einen Tabellenblattnamen mit der Zeichenfolge gibt...
If Vergl = 0 Then
ZuSuchenderBegriffSuchkatalogblattName = ZuSuchenderBegriffSuchkatalogblattName & "(" & x & ")"
Exit For
End If
End If
End If
Next
'Nun wird nachgesehen, ob nicht vielleicht schon zwei Blätter bestehen mit der
'gleichen Zeichenfolge bestehen
'Es werden alle Tabellenblätter der Arbeitsmappe durchlaufen
For Each objBlatt In ActiveWorkbook.Worksheet '******Hier tritt der Fehler auf*****
'Wenn der Tabellenblattname nicht "Übersicht" ist....
If objBlatt.Name "Übersicht" Then
'Wenn die ersten fünf Buchstaben des Tabellenbatt-Namens "Such_" sind...
If Left(objBlatt.Name, 5) = "Such_" Then
Vergl = StrComp(objBlatt.Name, ZuSuchenderBegriffSuchkatalogblattName, 1)
If Vergl = 0 Then
x = x + 1
ZuSuchenderBegriffSuchkatalogblattName = ZuSuchenderBegriffSuchkatalogblattName & "(x)"
End If
End If
End If
Next
End Sub

Private Function GetWorksheet(strName As String) As Worksheet
Dim objBlatt As Worksheet
'Alle Blätter der aktuelle Arbeitsmappe durchlaufen
For Each objBlatt In ActiveWorkbook.Worksheets
'Wenn Blatt mit angegebenem Namen gefunden, dann...
If objBlatt.Name = strName Then
'... Verweis auf Blatt zurückliefern
Set GetWorksheet = objBlatt
'Schleife verlassen
Exit For
End If
Next
End Function

Anzeige
da fehlt ein s an WorksheetS
Reinhard
Hi Frank,
und schreib sub suchen() , dann erkennt die Software hier, dass es Code ist und rückt ihn ein, wie bei der Function. So ist das doch unleserlich.
gruß
reinhard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige