Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren

Forumthread: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren

Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:04:00
Dieter(Drummer)
Guten Tag an alle.

Hatte gestern schon tolle Hilfe in Sachen TextBox. Dafür nochmal meinen Dank ...

Nun ein neues Problem.
Im beiligenden Code wird die TextBox im aktivierten Shape nur gelöscht, wenn die TextBox aktiviert ist.
Wie muss der Code lauten, dass die TextBox ohne Namen, und nur die im aktiven Shape, nicht aktiviert wird, aber dennoch gelöscht wird?

Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)

Jetziger Code, der nur funktioniert, wenn die TextBox aktiviert ist:
Sub DeleteTextBoxFromActiveShape()
Dim shp As Shape
Dim textbox As Shape
 'Sicherstellen, dass ein Shape aktiv ist

If Not ActiveWindow.Selection.ShapeRange Is Nothing Then
'Iterieren durch alle Shapes in der aktuellen Auswahl
For Each shp In ActiveWindow.Selection.ShapeRange
'Überprüfen, ob das Shape ein Textfeld ist
If shp.Type = msoTextBox Then
'Textfeld löschen
shp.Delete
End If
Next shp
End If
End Sub

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:11:05
Uduuh
Hallo,
kannst du eine Beispieldatei hochladen?

Gruß aus'm Pott
Udo
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 19:20:55
daniel
Hi
das hier löscht alle Textfelder, die sich vollständig innerhalb des selektierten Shapes befinden:

Sub TextfeldLoeschen()

Dim shp As Shape
Dim rng As Range
Dim rng2 As Range
If TypeName(Selection) = "Rectangle" Then
Set rng = Range(Selection.TopLeftCell, Selection.BottomRightCell)
For Each shp In ActiveSheet.Shapes
If shp.Type = msoTextBox Then
Set rng2 = Range(shp.TopLeftCell, shp.BottomRightCell)
If Not Intersect(rng, rng2) Is Nothing Then
If Intersect(rng, rng2).Cells.Count = rng2.Cells.Count Then
shp.Delete
End If
End If
End If
Next
End If

End Sub
Anzeige
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 19:29:07
Dieter(Drummer)
Danke Daniel für Rückmeldung und Code.

Dein Code funktioniert perfekt und kann ich auch nutzen.

Danke und Gruß,
Dieter(Drummer)
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:19:57
Dieter(Drummer)
Danke Udo für Rückmeldung.

Gruß,
Dieter(Drummer)
Hier meine Musterdatei:
https://www.herber.de/bbs/user/178591.xlsm
Anzeige
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:38:33
Yal
Hallo Dieter,

es kommt darauf an, ob Du alle Sahpe vom Typ Textbox löschen möchtest, oder nur die innerhalb der vorausgewählten.

Für alle sieht es so aus (Vorsicht, es löscht!):
Sub DeleteTextBoxFromActiveShape()

Dim S As Shape

For Each S In ActiveSheet.Shapes 'für jeden Shape im aktiven Blatt
If S.Type = msoTextBox Then S.Delete 'wenn vom Typ Textbox, löschen
Next
End Sub

Zum Löschen von Textbox-Shapes, die über den markierten Zellenbereich vorliegen:
Sub DeleteTextBoxFromActiveShape()

Dim S As Shape

For Each S In ActiveSheet.Shapes 'für jeden Shape im aktiven Blatt
If Not (Intersect(S.TopLeftCell, Selection) Is Nothing) And Not (Intersect(S.BottomRightCell, Selection) Is Nothing) Then
If S.Type = msoTextBox Then S.Delete 'wenn vom Typ Textbox, löschen
End If
Next
End Sub

VG
Yal
Anzeige
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:54:23
Uduuh
Hallo,
warum die Textbox? Du kannst den Sechsecken doch einfach Text hinzufügen.

Beispiel:
Sub TextRein()

Dim x
x = Split(Selection.name)
x = x(UBound(x))

With Selection.ShapeRange.TextFrame2
.VerticalAnchor = msoAnchorMiddle
.HorizontalAnchor = msoAnchorCenter
.Orientation = msoTextOrientationUpward
.TextRange.Characters.Text = x
End With

End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 19:01:25
Dieter(Drummer)
Danke Udo,

das ist ein gute Idee, die auch funktioniert, die ich auch verwenden kann.

Danke und Gruß,
Dieter(Drummer)

AW: Textbox ohne Namen im Shape löschen, ohne Textbox aktivieren
12.08.2025 18:51:24
Dieter(Drummer)
Danke Yal für Rückmeldung und Code.

Es soll aber nur die TextBox im aktiven Shape (Sechseck) gelöscht werden und nicht in Zellen.
Kannst du da bitte noch helfen?

Gruß,
Dieter(Drummer)
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18