ich möchte gern alle vorhandenen Button löschen die sich in den Tabellen
befinden, es sind sehr viele.
Nur die Tabelle "k_Test" sollten die Button erhalten bleiben.
Alle Button sind Schaltflächen.
mfg Kurt aus K
Sub Objekt_TypeNummern()
Dim obj
For Each obj In ActiveSheet.Shapes
Debug.Print obj.Name & " - " & obj.Type
Next
End Sub
die Ergebnisse werden im Direktfenster angezeigt.
Wenn du einfach alle Graphischen Objekte auf dem Tabellenblatt löschen willst, nimm dieses Makro
Sub SchalterWeg()
Dim objWs As Worksheet
For Each objWs In ThisWorkbook.Worksheets
If objWs.Name "k_Test" Then objWs.DrawingObjects.Delete
Next
End Sub
Gruß, Daniel
Sub LoescheButton()
Dim Area() As String
Dim i As Integer
Dim MySheet As Worksheet
Dim objButten As Shape
'Schleife über alle Tabellen
For Each MySheet In ThisWorkbook.Worksheets
'Tabelle k_Test auslassen
If MySheet.Name <> "k_Test" Then
'Daten sammeln in Area
For Each objButten In MySheet.Shapes
If TypeName(objButten.OLEFormat.Object) = "Button" Then
Redim Preserve Area(i)
Area(i) = objButten.Name
i = i + 1
End If
Next objButten
'Butten dieser Tabelle löschen
If i > 0 Then
MySheet.Shapes.Range(Application.Transpose(Area)).Delete
End If
End If
i = 0: Erase Area
Next MySheet
End Sub
Gruß Tino
Sub LoescheButton()
Dim Area() As String
Dim i As Integer
Dim MySheet As Worksheet
Dim objButten As Shape
Dim sObjName As String
'Schleife über alle Tabellen
For Each MySheet In ThisWorkbook.Worksheets
'Tabelle k_Test auslassen
If MySheet.Name <> "k_Test" Then
'Daten sammeln in Area
For Each objButten In MySheet.Shapes
With objButten
If .Type = 12 Then
sObjName = .OLEFormat.progID
Else
sObjName = TypeName(.OLEFormat.Object)
End If
If sObjName = "Button" Or sObjName Like "*CommandButton*" Then
Redim Preserve Area(i)
Area(i) = .Name
i = i + 1
End If
End With
Next objButten
'Butten dieser Tabelle löschen
If i > 0 Then
MySheet.Shapes.Range(Application.Transpose(Area)).Delete
End If
End If
i = 0: Erase Area
Next MySheet
End Sub
Gruß Tino