Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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
Inhaltsverzeichnis

shape deaktivieren

shape deaktivieren
12.10.2015 18:50:03
Tobias
Hallo zusammen...
folgendes Problem.
Da es in Excel 2010 kein VBA-Befehl gibt um Freihandanmerkungen zu löschen habe ich
versucht es auf einem anderen Weg zu versuchen.
Ich habe ein Tabellenblatt mit mehreren Shapes, die mir als Befehlsbuttons dienen.
Ich habe unten im Tabellenblatt ein Unterschriftenfeld.
Da ich Excel auf einem Windows-Tablet nutze kann ich über einen Digipen Freihandanmerkungen anfügen.
In meinem Fall möchte ich über Freihandanmerkungen unten im Tabellenblatt unterschreiben lassen.
Das funktioniert ja auch tadellos.
Nach der Unterschrift möchte ich das Formular drucken.
Nach dem Druck möchte ich die Freihand-Unterschrift wieder über einen Button(VBA-Befehl) löschen. Bzw. möchte ich alle Freihandanmerkungen löschen.
Hab nun versucht über den Befehl ActiveSheet.SelectAll alle Shapes zu markieren.
Nun möchte ich alle Shapes deaktivieren bis auf die Freihandanmerkungen...und dann nur die Freihandanmerkungen über Selection.Delete löschen.
Vielleicht habt ihr ja die zündende Idee....
Dankeschön...:-)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: shape deaktivieren
12.10.2015 19:03:06
Michael
Hi Tobias,
sieh Dir mal das an:
Sub grafiktyp()
Dim i As Long
For i = 1 To Shapes.Count
MsgBox Shapes(i).Name & " " & Shapes(i).Type
Next
End Sub

Due bekommst zu jeder Grafik den "Type" geliefert und kannst mit Name und/oder Typ unterscheiden, ob es sich um ein Bild oder eine Schaltfläche handelt, bzw. was gelöscht werden soll.
Eine Alternative wäre:
Sub grafiktypEach()
Dim shBild As Shape
For Each shBild In Shapes
MsgBox shBild.Name & " " & shBild.Type
' if shBild.Name = "Bla" then shBild.delete
Next
End Sub

...das liest sich schöner.
Schöne Grüße,
Michael

Anzeige
AW: shape deaktivieren
12.10.2015 19:23:44
Tobias
Hallo Michael,
dankeschön für deine schnelle Antwort.
Leider gibt mir der Debugger folgende Fehlermeldung:
Laufzeitfehler 424
Objekt erforderlich
Grüße
Tobias

AW: shape deaktivieren
12.10.2015 19:05:23
ransi
Hallo,
Schau malob dir das weiter hilft:
Option Explicit


Sub machs()
    Dim sh
    For Each sh In Tabelle1.Shapes
        If sh.AutoShapeType = msoShapeNotPrimitive Then sh.Delete
    Next
End Sub



ransi

Anzeige
AW: shape deaktivieren
12.10.2015 19:31:49
Tobias
Hallo ransi,
hab den code zuhause bereits ausprobiert.
ich glaub dein vba-code ist ist auf einer ganz heißen spur.
probiere es morgen in der arbeit nochmals aus...aber ich denke, das müsste so klappen.
Das wäre der Hammer!!!!
Vielen Dank schon mal für deine schnelle Antwort!!!!
Gruß
Tobias

AW: shape deaktivieren
13.10.2015 18:04:21
Tobias
Hallo ransi,
ich nochmal...:-)
Hab deinen Programmcode mit der Erfolg in der Arbeit getestet.
Hab ihn noch ein bisschen anpassen und umschreiben müssen...aber funktioniert prima!!!
Herzlichen Dank!!!
War mir eine sehr große Hilfe
Viele Grüße
Tobias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige