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

Bild aus aktiver Zelle löschen

Bild aus aktiver Zelle löschen
23.10.2023 12:41:58
nightcab
Mit dem Code kann ich eine Zeile löschen. Nun möchte ich aber auch ein Bild in der Zeile mitlöschen.



Sub ZeilenLöschen()

Dim strZelle As String
Dim arrSheets, varSheet

strZelle = Selection.Address

arrSheets = Array(ActiveSheet.Name)

For Each varSheet In arrSheets
Worksheets(varSheet).Range(strZelle).EntireRow.Delete
ActiveCell.Pictures.Delete
Next
End Sub

Mit ActiveCell.Pictures.Delete bekomme ich das bild nicht gelöscht.

Bitte um Hilfe!
Gruß nightcab

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus aktiver Zelle löschen
23.10.2023 13:37:22
daniel
HI

die Bilder sind zwar dem Blatt zugeordnet, aber meines Wissen nach nicht den Zellen.
Dh es gibt keinen Funktion, die dir alle Bilder eine Zelle zurückgibt.
Du musst daher für alle Bilder auf dem Blatt prüfen, ob diese von der Löschung betroffen sind oder nicht.
Dazu musst du linke obere und rechte untere Zelle von jedem Bild ermitteln (das geht) und damit überprüfen, ob das Bild im im zu löschenden Bereich liegt oder nicht.

schau dir mal das Makro an.
Das Makro löscht alle Bilder, die vollständig innerhalb des markierten Bereichs liegen.
Die Ansprache des Blattes habe ich etwas vereinfacht, wenn du nur auf dem sichtbaren Blatt löschen willst, braucht man die Schleife über die Blätter nicht.

Sub ZeilenUndBilderLöschen()

Dim x As Shape
Dim rngBild As Range
Dim rngLösch As Range

Set rngLösch = Selection.EntireRow

For Each x In ActiveSheet.Shapes
If x.TopLeftCell.Row >= Selection.Row Then
If x.BottomRightCell.Row (Selection.Row + Selection.Rows.Count) Then
x.Delete
End If
End If
Next

Selection.EntireRow.Delete

End Sub


Anzeige
AW: Bild aus aktiver Zelle löschen
25.10.2023 19:47:40
bigmayo
Moin,

Um Bilder zusammen mit den Zeilen zu löschen, könnte folgender Ansatz verwendet werden:

Sub ZeilenUndBilderLöschen()

Dim rngDelete As Range
Dim pic As Picture

' Bestimme die Zeilen, die gelöscht werden sollen
Set rngDelete = Selection.EntireRow

' Durchlaufe alle Bilder in der aktiven Arbeitsmappe
For Each pic In ActiveSheet.Pictures
' Überprüfe, ob das Bild sich in den zu löschenden Zeilen befindet
If Not Intersect(pic.TopLeftCell, rngDelete) Is Nothing Then
pic.Delete
End If
Next pic

' Lösche die Zeilen
rngDelete.Delete
End Sub


Dieser Code durchläuft alle Bilder in der aktiven Arbeitsmappe und überprüft, ob sich jedes Bild in den zu löschenden Zeilen (ausgewählt durch die Auswahl) befindet. Wenn ja, wird das Bild gelöscht, bevor die ausgewählten Zeilen gelöscht werden.

Stelle sicher, dass du die gewünschten Zeilen auswählst, bevor du das Makro ausführst. Beachte auch, dass dieses Makro nur auf das aktive Blatt in der aktiven Arbeitsmappe wirkt. Wenn du Zeilen auf mehreren Blättern löschen und die zugehörigen Bilder entfernen möchtest, müsstest du den Code anpassen, um alle gewünschten Blätter zu durchlaufen.

Gruß
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige