Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1740to1744
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

Freihandeingaben löschen

Freihandeingaben löschen
13.02.2020 15:42:16
Manuelsen17
Hallo liebes Forum:
folgender Code funktioert für mein Problem, aber leider nur in meiner Test-Datei und Performancetechnisch ist das auch nicht so das Optimum.
Ich suche eine Antwort das folgende Parameter erfüllen würde:
- Es sollen alle "INK" auf dem Tabellenblatt "Firmenkunden" gelöscht werden.
- Die Anzahl der INK ist beliebig (100 pro Tabellenblatt könnten es werden)
Hat jemand eine Ahnung wie ich das Problem schlank lösen kann? Meine Lösung erscheint mir nur suboptimal..
Vielen Dank für die Unterstützung.
Beste Grüße
Manu

Sub raus()
Dim i As Integer
Dim Ink As String
For i = 1 To 600
Ink = Range("Q" & i).Value
On Error Resume Next
ActiveSheet.Shapes.Range(Array(Ink)).Select
Selection.Delete
Next
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Freihandeingaben löschen
13.02.2020 16:04:36
Nepumuk
Hallo Manu,
sind das InkEdit-Objekte aus den ActiveX-Controls?
Gruß
Nepumuk
AW: Freihandeingaben löschen
13.02.2020 16:05:49
Manuelsen17
Hallo Nepumuk,
die Objekte stammen aus dem "Freihandeingabe-Modus". Also würde ich InkEdit-Objekte sagen?
Gruß
Manu
AW: Freihandeingaben löschen
13.02.2020 17:01:14
Nepumuk
Hallo Manu,
teste mal:
Public Sub Ink_Loeschen()
    Dim objOLEObject As OLEObject
    For Each objOLEObject In ActiveSheet.OLEObjects
        With objOLEObject
            If .progID = "InkEd.InkEdit.1" Then Call .Delete
        End With
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Freihandeingaben löschen
13.02.2020 17:12:06
Manuelsen17
Passiert leider nichts, aber es wird auch kein Fehler angezeigt.
Gruß
Manu
AW: Freihandeingaben löschen
13.02.2020 17:14:36
Nepumuk
Hallo Manu,
füg mal eines der Freihandformen in eine neue Tabelle ein und lade diese hoch.
Gruß
Nepumuk
AW: Freihandeingaben löschen
14.02.2020 10:33:48
Nepumuk
Hallo Manu,
teste mal:
Option Explicit

Public Sub DeleteInk()
    Dim objShape As Shape
    For Each objShape In ActiveSheet.Shapes
        With objShape
            If .Type = msoInkComment Then Call .Delete
        End With
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW:löschen-gegoogelt-Code von Luschi...
13.02.2020 17:42:53
Luschi...

Sub shapesNr5Delete()
'Löschen von Elementen aus einer Auflistung immer von
'hinten (größter Indexwert) beginnen!!!
Dim n As Long
n = Worksheets(1).Shapes.Count
For i = n To 1 Step -1
If Worksheets("Tabelle1").Shapes.Range(i).Type = 5 Then
Worksheets("Tabelle1").Shapes.Range(i).Delete
End If
Next i
End Sub

AW: AW:löschen-gegoogelt-Code von Luschi...
14.02.2020 08:36:11
Luschi...
Bringt leider nicht den gewünschten Erfolg.
AW: Freihandeingaben löschen
14.02.2020 08:39:34
Manuelsen17
Ich habe einen Code gefunden, der funktioniert.
Danke für eure Unterstützung!
Sub machs()
Dim sh
For Each sh In Tabelle1.Shapes
If sh.AutoShapeType = msoShapeNotPrimitive Then sh.Delete
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige