Wie zum Einfügen von Bildern mit Excel VBA
Hallo! Der Versuch, das Dashboard mit aussagekräftigen Bildern zu rocken. Oder versuchen Sie einfach, ein Bild in die Zelle Excel VBA einzufügen. Nun, Sie können keine Bilder in Excel-Zellen einfügen, aber Sie können die Größe so ändern, dass sie in Excel-Zellen passen.
Das manuelle Ausführen nimmt viel Zeit in Anspruch und ist ärgerlich. Was ist die Lösung? Sie haben es richtig erraten, ein VBA-Makro. Wir werden jetzt codieren.
Unten finden Sie den excel vba-Code zum Einfügen eines Bildes aus einem Ordner in eine Zelle oder einen bestimmten Bereich. Drücken Sie Alt + F11, fügen Sie ein Modul ein und kopieren Sie diesen Code.
Keine Sorge, ich habe es unten erklärt, damit Sie es an Ihre Bedürfnisse anpassen können.
Bild in Excel-Zelle mit VBA in eine Zelle oder einen bestimmten Bereich einfügen [width = „100%“, cols = „100%“,]
Sub TestInsertPictureInRange()InsertPictureInRange „C:\FolderName\PictureFileName.gif“, _Range(„B5:D10“) End Sub Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range) ‚ inserts a picture and resizes it to fit the TargetCells range Dim p As Object, t As Double, l As Double, w As Double, h As Double If TypeName(ActiveSheet) <> „Worksheet“ Then Exit Sub If Dir(PictureFileName) = „“ Then Exit Sub ‚ import picture Set p = ActiveSheet.Pictures.Insert(PictureFileName) ‚ determine positions With TargetCells t = .Top l = .Left w = .Offset(0, .Columns.Count).Left – .Left h = .Offset(.Rows.Count, 0).Top – .Top End With ‚ position picture With p Height = h
End With Set p = Nothing End Sub |
Erläuterung:
Teil 1:
Sub TestInsertPictureInRange()InsertPictureInRange „C:\FolderName\PictureFileName.gif“, _Range(„B5:D10“) End Sub |
Die obige Unterroutine ruft nur unsere Hauptunterroutine InsertPictureInRange auf, die nur zwei Argumente akzeptiert. Zuerst die Adresse der Bilddatei mit ihrem Namen und zweitens den Bereich, in den Sie das Bild in Excel einfügen möchten.
Teil 2:
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)‘ inserts a picture and resizes it to fit the TargetCells rangeDim p As Object, t As Double, l As Double, w As Double, h As Double If TypeName(ActiveSheet) <> „Worksheet“ Then Exit Sub If Dir(PictureFileName) = „“ Then Exit Sub ‚ import picture Set p = ActiveSheet.Pictures.Insert(PictureFileName) ‚ determine positions With TargetCells t = .Top l = .Left w = .Offset(0, .Columns.Count).Left – .Left h = .Offset(.Rows.Count, 0).Top – .Top End With ‚ position picture With p Height = h
End With Set p = Nothing End Sub |
Dies ist die Hauptunterroutine, die das Bild einfügt und an den angegebenen Bereich anpasst. Lassen Sie uns darauf eingehen.
Dim p As Object, t As Double, l As Double, w As Double, h As Double
Diese Zeile ist nur eine Variablendeklaration, die wir benötigen werden. Hinweis p Als Objektvariable. Diese Variable wird unser Bild halten.
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
Es wird geprüft, ob das Aktivitätsblatt ein Arbeitsblatt ist oder nicht. Wenn dies nicht der Fall ist, wird der Code sofort beendet und es passiert nichts.
If Dir(PictureFileName) = "" Then Exit Sub
Überprüfen Sie, ob Sie eine Adresse für das Bild angegeben haben, um ein Foto in die Excel-Zelle einzufügen. Wenn Sie es nicht angegeben haben, wird es sofort beendet und nichts passiert.
Set p = ActiveSheet.Pictures.Insert(PictureFileName)
Dies ist die wichtigste Zeile. In dieser Zeile verwenden wir die Einfügefunktion von Activesheet. Bilder Objekt und setzen Sie es in das Objekt p, das wir zuvor deklariert haben. Mit p können wir jetzt die Breite und Länge des Bildes leicht anpassen.
With TargetCells t = .Top l = .Left w = .Offset(0, .Columns.Count).Left - .Left h = .Offset(.Rows.Count, 0).Top - .Top End With
Dieses Segment erhält nur Länge, Breite, Oben und Links aus dem angegebenen Bereich.
With p .Top = t .Left = l .Width = w Height = h End With
Dieser Teil passt das Bild an den angegebenen Bereich an. Und es ist geschafft. Zuletzt setzen wir es frei, indem wir es auf nichts setzen.
Set p = Nothing
Der Speicher dieser Zeile ist frei.
Dieser Code funktioniert in Excel 2016, Excel 2013, Excel 2010 und Excel 2007.
Hier wollte ich das Bild im Bereich A1: C10 einfügen. Zu diesem Zweck habe ich meinen Code unter [width = „100%“, cols = „100%“,]
geändert
Sub TestInsertPictureInRange()InsertPictureInRange „*C:\Users\Manish Singh\Downloads\biker.jpg“, _Range(„A1:C10*“) End Sub |
Und das habe ich bekommen. Genau das, was ich wollte.
Also ja. Verwenden Sie diesen Code, um ein Bild in die Excel-Zelle oder den Excel-Bereich einzufügen. Spielen Sie um den Code herum. Versuchen Sie, verschiedene Formate und seltsame Bereiche einzufügen und sehen Sie, was passiert. Wenn Sie Fragen haben oder vor einer Herausforderung stehen, verwenden Sie den folgenden Kommentarbereich, um mich zu fragen.
Datei herunterladen
`link: /wp-content-uploads-2013-07-Insert-Pictures-Using-VBA-In-Microsoft-Excel-2016.xls [__ Bilder mit VBA in Microsoft Excel 2016 einfügen]
Beliebte Artikel:
link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Verwendung der VLOOKUP-Funktion in Excel]
link: / tips-countif-in-microsoft-excel [Verwendung der COUNTIF-Funktion in Excel]
link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel]