Clever-Excel-Forum

Normale Version: [Excel] Problem bei "ActiveSheet.Pictures.Insert" umgehen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seit Excel 2010 gibt es ein Problem wenn man Bilder mit ActiveSheet.Pictures.Insert einfügt. Beim Einfügen wird das Bild nur als Verknüpfung eingefügt. Auf anderen Rechnern, auf denen das Bild nicht vorhanden ist, kommt es natürlich zu einer fehlerhaften Anzeige. Im Internet wird immer nur auf ActiveSheet.Shapes.AddPicture verwiesen. Es gibt aber eine andere Lösung. Um dieses Problem zu umgehen kopiert man das eingefügte Bild, löscht es und fügt es (aus der Zwischenablage) neu ein. Funktioniert bei mir gut.

Ein Auszug aus meinem Projekt:
Public Sub RefreshRangeOne()
On Error Resume Next

Dim pngInsert As String
Dim strRNG    As Range

pngInsert = Environ("USERPROFILE") & "\Desktop\Benutzer1.tif"
   
With ActiveSheet
    .Unprotect "Passwort"
    .Pictures.Insert(pngInsert).Select
   
     With Selection
         .Copy
         .Delete
     End With
     
     Range("B9").Select
     Set strRNG = ActiveCell
     strRNG.PasteSpecial xlPasteAll

     Kill pngInsert

    .Protect "Passwort"
End With
End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Vorteil von ActiveSheet.Pictures.Insert ist dass man es exakt an der Zelle einfügen kann an der man es möchte. Bei der Alternative ActiveSheet.Shapes.AddPicture muss man leider exakte Positionsangaben setzen, was aber in der Praxis nie sauber funktioniert.