Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shape / Picture löschen funktioniert nicht

Shape / Picture löschen funktioniert nicht
Jens
Hallo zusammen,
ich habe da ein Makro, welches in verschiedenen Zellen abhängig vom Inhalt ein Bild einfügt. Am Anfang des Makros sollen alle Bilder gelöscht werden, da sich die Inhalte der Zellen ständig ändern.
Code:
Sub bilder()
Dim zeile, abstand, hoehe As Integer
Dim objPicture As Picture
Dim shpShape As Shape
Dim lngRow As Long
Dim signum, pfad As String
pfad = Sheets("Einstellungen").Cells(3, 5)
For Each shpShape In ActiveSheet.Shapes
If shpShape.TopLeftCell.Rows > 25 Then shpShape.Delete
Next shpShape
signum = "C:\Unterschrift.jpg"
With Cells(39, 2)
Set objPicture = .Parent.Pictures.Insert(signum)
objPicture.Left = .Left
objPicture.Top = .Top
With objPicture
.ShapeRange.LockAspectRatio = msoTrue
.Placement = xlMoveAndSize
.PrintObject = True
.ShapeRange.Height = 45
.ShapeRange.Rotation = 0#
.ShapeRange.PictureFormat.TransparentBackground = True
.ShapeRange.PictureFormat.TransparencyColor = RGB(255, 255, 255)
End With
End With
End If
With Cells(763, 2)
Set objPicture = .Parent.Pictures.Insert(signum)
objPicture.Left = .Left
objPicture.Top = .Top
With objPicture
.ShapeRange.LockAspectRatio = msoTrue
.Placement = xlMoveAndSize
.PrintObject = True
.ShapeRange.Height = 45
.ShapeRange.Rotation = 0#
.ShapeRange.PictureFormat.TransparentBackground = True
.ShapeRange.PictureFormat.TransparencyColor = RGB(255, 255, 255)
End With
End With
End If
lngRow = 47
For zeile = 47 To 753 Step 3
If Rows(zeile - 1).EntireRow.Hidden = False Then
If Range("E" & zeile) "" Then
If Rows(zeile).rowheight Rows(zeile).rowheight = 95
End If
With Cells(lngRow, 5)
Set objPicture = .Parent.Pictures.Insert(pfad & Cells(lngRow, 5))
objPicture.Top = .Top
objPicture.Left = .Left
With objPicture
.ShapeRange.LockAspectRatio = msoTrue
.Placement = xlMoveAndSize
.PrintObject = True
.ShapeRange.Height = 90
.ShapeRange.Rotation = 0#
.ShapeRange.IncrementTop 3
.ShapeRange.IncrementLeft 3#
End With
End With
End If
End If
lngRow = lngRow + 3
Next zeile
Das Einfügen der Bilder funktioniert wunderbar. Aber mit dem löschen klappt das nicht so ganz.
Alle Bilder zwischen Zeile 47 und 753 werden gelöscht, so wie ich es möchte. Nur die beiden Bilder in Zeile 39 und 763 bleiben da. Schiebe ich die Bilder aber in den Bereich der anderen Zeilen werden sie gelöscht.
Was mache ich hier falsch? Die Bilder sind doch mit allen Attributen etc. identisch.
Vielen Dank für Eure Hilfe
Der Jens

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Shape / Picture löschen funktioniert nicht
23.09.2009 22:30:32
Jens
Mir hat das mal wieder keine Ruhe gelassen und habe doch noch rausgefunden, woran es liegt. Die beiden Zellen mit den Bildern, die nicht gelöscht werden, sind LEER. Die anderen nicht. Wenn ich da also was reinschreibe klappt alles.
Verstehen tue ich es trotzdem nicht, wieso das Löschen nur bei Zellen mit Inhalt geht. Finde in der VBA-Hilfe keinen Hinweis darauf.
;-(
Trotzdem danke an alle, die sich bemühen wollten.
Jens
AW: Shape / Picture löschen funktioniert nicht
23.09.2009 22:31:22
Luschi
Hallo Jens,
in dieser Zeile ist bei Dir ein 's' zuviel (.Rows):
If shpShape.TopLeftCell.Row > 25 Then shpShape.Delete
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Shape / Picture löschen funktioniert nicht
23.09.2009 23:41:29
Jens
Hey Luschi,
du hast mir ja schon zum zweiten Mal geholfen. Bekommst du hier Geld?
*grins*
Vielen Dank!!! Klappt mal wieder super. So langsam steigere ich mich mit VBA dank der Forums- (und deiner) Hilfe.
Grüße Jens
aus Berlin
PS: wo ist denn klein Paris?
Klein Paris
25.09.2009 11:41:50
Lischu
...ist ein Vorort von Borna

304 Forumthreads zu ähnlichen Themen


Moin,
ich versuche gerade per Makro bestimmte Spalten auf die Breite 0 zu schieben. Als es da fr mich unerklärliche Probleme gab, hab ich mal versucht, die Spalten per Hand auf Breite null zu schieben und siehe da, folgende Meldung erscheint: "Objekte können nicht über das Blatt hinausver...
Anzeige

Liebe Liste,
habe hier ein Problem, das mich fast verzweifeln läßt!
Ich habe 4 Zeilen am Anfang einer Datei, die sich partout nicht mehr einblenden lassen! Ich kann dort mit den Pfeiltasten der Tastatur hinlaufen, sehe oben in der Wertezeile auch den Wert der Zellen, in denen Inhalt ste...

Hallo
Ich habe in einem Tabellenblatt einen fest definierten Bereich (A10:K20) Datensätze drin stehen. Also in A10:K10 der erste DS
A11:K11 der zweite DS
...usw
A20:K20 der 20ste DS
Nun werden verschidene DS, die nicht mehr gebraucht werden , gelöscht. Nun zum Problem. Ich...
Anzeige

Hallo,
verschiedene Makro's die ich im Archiv gefunden haben,
lösen nicht mein Problem.
Ich möchte alle Zeilen im aktuellen Sheet löschen, aber nur dann wenn,
keine Formeln, keine Werte und keine Formatierungen (z.B. Zellen gelb hinterlegt), keine Kommentare in den entsprechende...

Hallo,
möchte alle DS löschen (ab Zeile 3) , die in Spalte X kein "Auto" stehen haben.
Dim i
For i = 1 To 100
If Cells(i, 24).Value "Auto" Then _
Cells(i, 1).EntireRow.Delete
Next i
Problem 1: irgend wie funktioniert der Code nicht richtig, er löscht immer nur die u...

Hi,
habe hier ein ganz komisches Problem. Es geht um ein Template, welches von einem Notes-System mit Daten gefüllt wird. In dem Template gibt es eine Spalte mit Datum. (Es steht zumindest das Datum drin)
Wenn ich das Format anschaue, steht es auf Standard.
Diese Spalte wollte ich i...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige