Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
148to152
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
148to152
148to152
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

Anzeige
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

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 :-))

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige