Herbers Excel-Forum - das Archiv

Überprüfung eines bestimmten Shapes

Bild

Betrifft: Überprüfung eines bestimmten Shapes
von: Michael Rapp
Geschrieben am: 29.09.2003 15:29:21
Hallo Excel Freunde,
wie kann ich überprüfen, ob ein Bild mit einem von mir vorher vergebenen Namen vorhanden ist. Nur dann funktioniert der folgende Befehl (Start des Selektionsstiftes aus der Gafikleiste). Hier mein umständlicher Code, wo ich das Problem mit einer Fehlermeldung umschiffe?

Danke für Eure Hilfe
Michael

Sub M_StartWhiteOut()
'Makro erstellt 28.9.2003
'startet den Selektionsstift aus der Grafikleiste
Dim shpPlan As Shape
Dim strMsg1 As String
Dim strMsg2 As String
On Error Resume Next
strMsg1 = Sheet27.Range("AW318")
strMsg2 = Sheet27.Range("AW319")
Set shpPlan = Sheet16.Shapes("FS_Plan")
If Err.Number = 0 Then GoTo WhiteOut                'prüfen, ob ein Plan vorhanden ist
MsgBox strMsg1 & Chr(13) & strMsg2, vbOKOnly        'wenn nicht vorhanden, Fehlermeldung und Abbruch
Sheet16.Range("CM28").Select
Exit Sub
WhiteOut:
shpPlan.Select                                       Plan vorhanden, muß gewählt sein
Application.CommandBars("Picture").FindControl(, 2827, , , True).Execute ' Start der Siftfunktion
End Sub

Bild

Betrifft: AW: Überprüfung eines bestimmten Shapes
von: Hajo_Zi
Geschrieben am: 29.09.2003 16:22:10
Hallo Michael

lasse eine Schleife drüber laufen und Prüf den namen nach folgendem Prinzip.
Sub Test()
For InI = ActiveSheet.Shapes.Count To 1 Step -1
If Left(ActiveSheet.Shapes(InI).Name, 3) = "Pic" Then
ActiveSheet.Shapes(InI).Delete
End If
Next
End Sub



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/

Bild

Betrifft: AW: Überprüfung eines bestimmten Shapes
von: Michael Rapp
Geschrieben am: 29.09.2003 21:34:54
Hallo Hajo,

Volltreffer! Funktioniert blendend - vielen Dank. Kannst du mir erklären, warum das
.count 1 Step -1 heißt, also bei eins anfangen und dann Auswahl um -1 (???)verändern?

Gruß
Michael

Ich wende den Code so an:

Sub M_PlanImport()
'Deklarationen
For intI = ActiveSheet.Shapes.Count To 1 Step -1
If left(ActiveSheet.Shapes(intI).name, 7) = "FS_Plan" Then     'prüfen, ob ein Plan vorhanden ist
intAnswer = MsgBox(strMessage4, vbYesNo + vbCritical + vbDefaultButton2, strBoxHead)
If intAnswer = 7 Then Exit Sub
ActiveSheet.Shapes("FS_Plan").Delete       'löscht die Grafik mit dem Namen "FS_Plan"
End If
Next
'weiterer Code
End Sub

Bild

Betrifft: AW: Überprüfung eines bestimmten Shapes
von: Hajo_Zi
Geschrieben am: 29.09.2003 22:17:46
Hallo Michael

.count Anzahl der Shapes, Step -1 Die schleife läuft vom letzten zum ersten, da ein Element gelöscht wird und ansonsten kommt ein Laufzeitfehler.


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Bild

Betrifft: AW: Überprüfung eines bestimmten Shapes
von: Michael Rapp
Geschrieben am: 29.09.2003 22:46:37
Hallo Hajo,

jetzt habe ich es verstanden. Danke!

Gruß
Michael
 Bild
Excel-Beispiele zum Thema " Überprüfung eines bestimmten Shapes"
Befindet sich die aktive Zelle in einem bestimmten Bereich? Werte eins bestimmten Monats summieren
Werte 1 und 0 in einem bestimmten Verhältnis zufällig anordnen Alle Links zu einer bestimmten Arbeitsmappe löschen
Anzahl eines bestimmten Wochentages im Monat Alle Dateien ab einem bestimmten Datum listen
Daten eines bestimmten Jahres filtern Zeilen löschen, wenn in bestimmten Spalten keine Werte stehen
xlSaveAs-Dialog in einem bestimmten Verzeichnis aufrufen Wert einer bestimmten Zelle merken