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.

pasted image 0 (1)

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]