Ich habe ein VBA-Makro zusammengebastelt. Öffnen Sie Ihren VBA-Editor mit ALT+ F11und fügen Sie den nachfolgenden Code unter sheet1 ein . Führen Sie das Makro mit ALT+ ausF8
Was macht das Makro?
- Bitten Sie den Benutzer um einen Pfad zu einem Bild, das er einfügen möchte (jpg, bmp oder png).
Laden Sie das Bild als
WIA.imageFile
. Später verwenden wirobjImage.Height
undobjImage.Width
um die realen Bildabmessungen zu erhalten.Diese Methode war die kürzeste, die ich gefunden habe, um Dimensionen in Pixeln zu erhalten (andere VBA-Methoden können Twips ergeben . Sie sind eine schreckliche Erfindung)
- Fügen Sie einen leeren Kommentar in die aktuell ausgewählte Zelle ein, wenn dort kein alter Kommentar vorhanden ist
- Legen Sie das ausgewählte Bild als Hintergrundbild für die Kommentarform fest
- Ändern Sie die Größe der Kommentarform so, dass das Bild perfekt passt
Sub InsertComment() Dim strImagePath As Variant Dim objImage As Object strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp") If strImagePath = False Then Exit Sub Set objImage = CreateObject("WIA.ImageFile") objImage.LoadFile strImagePath With ActiveCell If .Comment Is Nothing Then .AddComment ("") .Comment.Shape.Fill.UserPicture strImagePath .Comment.Shape.Height = objImage.Height * 0.75 .Comment.Shape.Width = objImage.Width * 0.75 End With End Sub