Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2025 08:56:57
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

For Each Anweisung

Forumthread: For Each Anweisung

For Each Anweisung
21.08.2002 13:33:36
Peter
Hallo Leute,
was ist falsch, wenn ich mit der unten folgenden Syntax ein Workbook nach einem bestimmten Chart durchsuche ?

Sub IndiDel()

Dim ShName As String
Dim WSheet As Chart

'Set WSheet = Chart
'On Error GoTo E:
ShName = ActiveChart.Name
For Each WSheet In ActiveWorkbook
If WSheet.Visible = True Then
If WSheet.Name = ShName & "*" Then
WSheet.Delete
End If
End If
Next WSheet
E: ShName = MsgBox(Prompt:="Es muss ein Chart ausgewählt sein !!", Buttons:=vbCritical)
End Sub

Wenn ich die Zeile mit der Set-Anweisung auskommentiere bekomme ich den Laufzeitfehler 438 "Objekt unterstützt die Eigenschaft oder Methode nicht"
Wenn ich die genannte Anweisung nicht auskommentiere heißt es: "Cariable nicht definiert" und das Wort "Chart" ist markiert.
Mit der Error-Anweisung kann es nichts zu tun haben, denn die ist auskommentiert.

Vielen Dank für Eure Hilfe, denn ich komme gerade nicht weiter

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: For Each Anweisung
21.08.2002 13:37:23
Andreas S
Hallo,

du musst die Auflistung mit angeben, die du durchlaufen willst:

For Each WSheet In ActiveWorkbook.Charts

Gruss

Andreas

Re: For Each Anweisung
21.08.2002 13:39:44
Harald Kapp
Hallo Peter,
in der for-each Schleife musst Du natürlich angeben, welche Auflistung Du durchsuchen möchtest. ActiveWorkbook genügt dabei nicht, da das ActiveWorkbook Objekt verschiedene Auflistungen unterstützt.
Mit
For Each WSheet In ActiveWorkbook.Charts
Sollte es klappen.

Gruß Harald

P.S.: Die Anweisung Set WSheet = Chart muss zu einer Fehlermeldung führen, da Chart nicht als zuweisbares Object definiert ist.

Harald

Anzeige
Re: For Each Anweisung
21.08.2002 13:44:56
Andreas S
Hallo nochmal,

vielleicht solltest du auch die Zuweisung des Namens des aktiven Charts folgendermaßen ändern:

If Not (ActiveChart Is Nothing) Then ShName = ActiveChart.Name

Gruss

Andreas

Re: For Each Anweisung
21.08.2002 13:55:13
Peter
Dank Euch beiden für die Hilfe, es scheint zu funktionieren.

Ein weiteres Problem habe ich:
Wenn ich den Namen des Charts, den ich in der Auflistung suchen möchte, nur zum Teil kenne, d.h. ich weiß beispielsweise, daß mit "EUR_USD1"anfängt, sich allerdings in 3 weiteren Buchstaben fortsetzt, kann ich diese weiteren Buchstaben mit einem * Ersetzen? wenn ja wie ???

Vielen Dank nochmal

Anzeige
Re: For Each Anweisung
21.08.2002 14:00:57
Harald Kapp
Nö, so geht's m.E. nicht.
Aber - Du kannst ja einfach nur die bekannten Zeichen vergleichen:

If left(Wshet.Name,3) = "EUR" ...

Gruß Harald

Re: For Each Anweisung
21.08.2002 14:02:45
Pe
Danke Dir Harald!!

P.S.: Dann hat sich wohl mein Eintrag weiter oben jetzt erledigt :-))

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