Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

löschen vpn shapes

löschen vpn shapes
10.03.2008 08:36:00
helmut.em
hallo,
ich habe in einem blatt u. anderem ausgefüllte kleine kreise (=sie sind punkte in einem koordinatensystem und linien, die in abhängigkeit von der lage der punkte entstehen (für statistiker: es geht um die regressionsanalyse).
nach eingabe neuer messwerte sollen andere punkte und linien entstehen. um die alten zu löschen, habe ich
mich nach der vba-hilfe "Arbeiten mit Formen (Zeichnungsobjekten)" gerichtet:
For Each sh In ActiveSheet.Shapes
If sh.Type = msoOval Then sh.Select
If sh.Type = msoLine Then sh.Select
Selection.Delete
Next
während die linien gelöscht werden, gehen die kreise nicht weg.
was ist falsch?
Shapes.SelectAll kann ich nicht anwenden, weil dann auch meine commandbuttons und die die drehfelder verschwinden.
danke im voraus
helmut

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

Betreff
Datum
Anwender
Anzeige
AW: löschen vpn shapes
10.03.2008 08:41:44
Kawensmann
Hallo,
die Selection wechselt halt bei jedem Aufruf. Werden die Linien selektiert, werden die Kreise deselektiert.
Lass es einfach weg:

For Each sh In ActiveSheet.Shapes
If sh.Type = msoOval Then sh.Delete
If sh.Type = msoLine Then sh.Delete
Next


Gruß
Kawensmann

AW: löschen vpn shapes
10.03.2008 08:45:00
Kawensmann
oder besser:

For Each sh In ActiveSheet.Shapes
If sh.Type = msoOval Or sh.Type = msoLine Then
sh.Delete
End If
Next


AW: löschen vpn shapes
10.03.2008 08:42:00
Renee
Hi Helmut,
Falsch ist, dass du .Select benzutzt. Zuerst ein Oval, dann ein Linie, womit das Oval nicht mehr selektiert ist. Machs lieber so:

For Each sh In ActiveSheet.Shapes
If sh.Type = msoOval Then sh.Delete
If sh.Type = msoLine Then sh.Delete
Next


GreetZ Renée

Anzeige
AW: löschen vpn shapes
10.03.2008 08:56:00
helmut.em
das direkte löschen ohne select hatte ich auch versucht, der erfolg ist leider derselbe.
ich geb euch mal an, wie ich die kreise erzeuge, vielleicht steckt da noch irgendeine ungereimtheit.
hier ein fixbeispiel mit 100 und 120, in wirklichkeit sind die koordinaten variabel:
ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 120, 4#, 4#).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 8
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
gruß helmut

AW: löschen vpn shapes
10.03.2008 09:03:10
Beverly
Hi Helmut,
bei mir (Excel2003) läuft der Code bei Verwendung von "msoOval" auf einen Fehler. Als Typ wird angezeigt msoAutoShape.


Anzeige
AW: löschen vpn shapes
10.03.2008 09:54:13
Renee
Hi Helmut,
Versuch's mal so (alles ausser Controls löschen):

Sub DeleteWithoutControls()
Dim sh As Object
For Each sh In ActiveSheet.Shapes
If Not (sh.Type = 12) Then sh.Delete
Next
End Sub


GreetZ Renée

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige