Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bild aus dem Internet einfügen VBA

Bild aus dem Internet einfügen VBA
24.11.2017 15:53:42
Oliver
Hey Leute!
ich würde gerne ein Bild aus dem Internet per VBA in meinem Excel einfügen. Bis jetzt habe ich nur die Lösung dies über diesen Code zu machen
Bild = "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=TestQRCode"
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 100, 100.25).Select
Selection.ShapeRange.Fill.UserPicture Bild
Ich habe nur das Problem, dass ich viele Bilder in meine Excel Tabelle einfügen möchte und das mit den ganzen Shapes Namen ziemlich verwirrend wird, oder gibt es eine Möglichkeit bei der AddShape Funktion dem Objekt gleich einen Namen zuzuweisen?
Wie kann man außerdem den Script noch ausbauen, dass die eingefügten Bilder gleich in Zellen eingefügt und diese an die Zellengröße angepasst werden?
Freue mich auf eure Antworten!
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus dem Internet einfügen VBA
24.11.2017 17:19:36
onur
Crossposting ist, als ob du EIN Taxi brauchst und ZWEI Taxiunternehmen anrufst - Irgend ein Taxi kommt immer umsonst.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bilder aus dem Internet in Excel einfügen mit VBA


Schritt-für-Schritt-Anleitung

Um Bilder aus dem Internet in Deine Excel-Tabelle einzufügen, kannst Du den folgenden VBA-Code verwenden. Dieser Code fügt ein Bild aus einer URL in die aktive Tabelle ein und passt es an die Zellengröße an.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub BildEinfügen()
        Dim Bild As String
        Dim Zelle As Range
    
        Bild = "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=TestQRCode"
        Set Zelle = ActiveSheet.Range("A1") ' Ändere die Zelle nach Bedarf
    
        With ActiveSheet.Pictures.Insert(Bild)
            .ShapeRange.LockAspectRatio = msoFalse
            .Left = Zelle.Left
            .Top = Zelle.Top
            .Width = Zelle.Width
            .Height = Zelle.Height
        End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem Du ALT + F8 drückst und BildEinfügen auswählst.


Häufige Fehler und Lösungen

Fehler: Das Bild wird nicht angezeigt.
Lösung: Überprüfe, ob die URL korrekt ist. Manchmal können Bilder aufgrund von Berechtigungseinstellungen oder ungültigen Links nicht geladen werden.

Fehler: Das Bild passt nicht in die Zelle.
Lösung: Stelle sicher, dass Du die Parameter .Width und .Height im Code korrekt auf die Zellengröße anpasst.


Alternative Methoden

Eine alternative Methode, um Bilder aus dem Internet einzufügen, ist die Verwendung der AddPicture-Methode. Hier ist ein Beispiel:

Sub BildEinfügenAlternative()
    Dim Bild As String
    Bild = "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=TestQRCode"

    ActiveSheet.Pictures.Insert(Bild).Select
    Selection.ShapeRange.LockAspectRatio = msoFalse
    With Selection
        .Left = Range("B1").Left
        .Top = Range("B1").Top
        .Width = Range("B1").Width
        .Height = Range("B1").Height
    End With
End Sub

Praktische Beispiele

Hier ist ein weiteres Beispiel, um mehrere Bilder aus einer Liste von URLs einzufügen:

Sub MehrereBilderEinfügen()
    Dim Bild As String
    Dim Zelle As Range
    Dim i As Integer
    Dim Bilder As Variant

    Bilder = Array("http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=TestQRCode", _
                   "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=TestQRCode2")

    For i = LBound(Bilder) To UBound(Bilder)
        Set Zelle = ActiveSheet.Cells(i + 1, 1) ' Bilder in die erste Spalte einfügen
        With ActiveSheet.Pictures.Insert(Bilder(i))
            .ShapeRange.LockAspectRatio = msoFalse
            .Left = Zelle.Left
            .Top = Zelle.Top
            .Width = Zelle.Width
            .Height = Zelle.Height
        End With
    Next i
End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Das hilft, Fehler zu vermeiden.
  • Wenn Du viele Bilder einfügst, überlege, einen Timer einzubauen, um die Ausführung zu steuern und die Leistung zu optimieren.
  • Halte Deine URLs in einer separaten Excel-Liste und verwende eine Schleife, um die Bilder aus dieser Liste einzufügen.

FAQ: Häufige Fragen

1. Frage
Kann ich Bilder aus mehreren Webseiten gleichzeitig einfügen?
Antwort: Ja, Du kannst eine Schleife verwenden, um Bilder aus einer Liste von URLs einzufügen, wie im Beispiel MehrereBilderEinfügen.

2. Frage
Funktioniert dieser Code in Excel 2010?
Antwort: Ja, der bereitgestellte Code sollte auch in Excel 2010 und späteren Versionen funktionieren. Achte darauf, dass Du die richtigen Sicherheitsberechtigungen für VBA-Makros eingestellt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige