Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler in Makro beim Einfügen von Bilder

Fehler in Makro beim Einfügen von Bilder
02.06.2022 09:23:26
Bilder
Hallo zusammen!
Ich pflege zusammen mit einem Kollegen eine Exceltabelle. Darin speichern wir Angaben zu Anzeigen. Eine dritte Partei greift ebenfalls auf das Excel-Sheet zu und möchte, dass wir Thumbnails der Anzeigen einfügen. Das zerfetzt uns regelmäßig die Tabelle, weshalb ich ein Makro gesucht und gefunden habe, mit dem die Bildergröße festegelegt werden kann. Das klappt gut, wobei es nicht 100% das ist, was ich gesucht habe (ich fänds toll, wenn die Zellenhöhe sich auch automatisch anpasst oder noch besser, wenn die Bilder gar nicht physisch eingefügt sondern nur "verlinkt" würden, aber das überfordert mich Code-technisch).
Dumm nur: Ich kann die eingefügten Bilder sehen, die anderen aber nicht (da ist dann ein Platzhalter an der Stelle).
Die Excel-Datei sowie die Bilder liegen in einer passwortgeschützten Cloud. Wir greifen mit Web-Dav darauf zu.
Hier das Makro:

Sub InsertPicture()
Dim sPicture As String, pic As Picture
sPicture = Application.GetOpenFilename _
("Pictures (*.jpg; *.png), *.jpg; *.png", _
, "Select Picture to Import")
If sPicture = "False" Then Exit Sub
Set pic = ActiveSheet.Pictures.Insert(sPicture)
With pic
.ShapeRange.LockAspectRatio = msoFalse
.Height = 90
.Width = 90
.Top = ActiveCell.Top
.Left = ActiveCell.Left
.Placement = xlMoveAndSize
End With
Set pic = Nothing
End Sub
Woran kann es liegen? Hat jemand Tipps? Mein Dank ist gewiss. :D
Steffi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Makro beim Einfügen von Bilder
02.06.2022 09:58:50
Bilder
Hallo Steffi,
Pictures.Insert(sPicture) fügt nur eine Verknüpfung zum Bild ein. daher siehst nur du sie da sich die Bilder nur auf deinem Rechner befinden.
Versuch es so:

Public Sub InsertPicture()
Dim sPicture As Variant, pic As Shape
sPicture = Application.GetOpenFilename _
("Pictures (*.jpg; *.png), *.jpg; *.png", _
, "Select Picture to Import")
If sPicture  False Then
Set pic = ActiveSheet.Shapes.AddPicture(Filename:=sPicture, LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=-1, Height:=-1)
With pic
.LockAspectRatio = msoFalse
.Height = 90
.Width = 90
.Placement = xlMoveAndSize
ActiveCell.EntireRow.Height = .Height
End With
Set pic = Nothing
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Fehler in Makro beim Einfügen von Bilder
02.06.2022 10:04:02
Bilder
Oooooops,
da ist noch ein Fehler drin:

Public Sub InsertPicture()
Dim sPicture As Variant, pic As Shape
sPicture = Application.GetOpenFilename _
("Pictures (*.jpg; *.png), *.jpg; *.png", _
, "Select Picture to Import")
If sPicture  False Then
Set pic = ActiveSheet.Shapes.AddPicture(Filename:=sPicture, LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=-1, Height:=-1)
With pic
.LockAspectRatio = msoFalse
.Height = 90
.Width = 90
.Placement = xlMoveAndSize
ActiveCell.EntireRow.RowHeight = .Height
.Height = 90
.Width = 90
End With
Set pic = Nothing
End If
End Sub
Man sollte vor dem posten testen, nicht danach. :-(
Gruß
Nepumuk
Anzeige
AW: Fehler in Makro beim Einfügen von Bilder
02.06.2022 10:14:03
Bilder
Hallo Nepumuk, besten Dank! :)
Das klappt mit dem Einfügen, ich muss jetzt nur hoffen, dass der Kollege die Bilder nun auch angezeigt bekommt. Eigentlich liegen die nicht lokal ab. Aber es hat vermutlich was damit zu zu tun, dass ich via WebDav auf die Cloud mit den Bildern zugreife. Großartig, dass ich hier so schnell geholfen bekomme! Danke!
Gruß Steffi
Anzeige
AW: Fehler in Makro beim Einfügen von Bilder
02.06.2022 10:01:38
Bilder
Hi,
nur so viel, mach aus...

.Height = 90
...mal das hier

.Height = ActiveCell.Height
Hilfts?
Zu den anderen Fragen hab ich leider keine ntwort - deswg noch "offen".
Ciao
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bilder in Excel einfügen: So klappt's mit Makros


Schritt-für-Schritt-Anleitung

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

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

  3. Makro einfügen: Kopiere den folgenden Code in das Modul:

    Public Sub InsertPicture()
        Dim sPicture As Variant, pic As Shape
        sPicture = Application.GetOpenFilename _
        ("Pictures (*.jpg; *.png), *.jpg; *.png", _
        , "Select Picture to Import")
        If sPicture <> False Then
            Set pic = ActiveSheet.Shapes.AddPicture(Filename:=sPicture, LinkToFile:=msoFalse, _
            SaveWithDocument:=msoTrue, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=-1, Height:=-1)
            With pic
                .LockAspectRatio = msoFalse
                .Height = 90
                .Width = 90
                .Placement = xlMoveAndSize
                ActiveCell.EntireRow.Height = .Height
            End With
            Set pic = Nothing
        End If
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und drücke ALT + F8, um das Makro auszuführen. Wähle InsertPicture aus und klicke auf Ausführen.

  5. Bild auswählen: Wähle das Bild aus, das du einfügen möchtest.


Häufige Fehler und Lösungen

  • Excel Bild einfügen geht nicht: Überprüfe, ob du die richtigen Berechtigungen hast, um auf die Bilder in der Cloud zuzugreifen. Wenn die Bilder ausgegraut sind, könnte das an fehlenden Verknüpfungen liegen. Stelle sicher, dass die Bilder korrekt verlinkt sind.

  • Bilder werden nicht angezeigt: Wenn dein Kollege die Bilder nicht sehen kann, liegt das oft daran, dass die Bilder lokal gespeichert sind. Achte darauf, dass die Bilder in der Cloud gespeichert sind und die Verknüpfungen korrekt gesetzt sind.


Alternative Methoden

Wenn du Bilder in Excel einfügen möchtest, ohne ein Makro zu verwenden, kannst du dies manuell tun:

  1. Gehe zu Einfügen > Bilder.
  2. Wähle das Bild von deinem Computer oder aus der Cloud aus.
  3. Passe die Größe des Bildes manuell an.

Für das Einfügen von GIFs in Excel verwende die gleiche Methode. Beachte, dass animierte GIFs in Excel nicht animiert dargestellt werden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Makro optimal nutzen kannst:

  • Thumbnails einfügen: Verwende das Makro, um Thumbnail-Bilder von Anzeigen in eine Tabelle einzufügen. Achte darauf, dass die Größe der Zellen automatisch angepasst wird.
  • Schnelles Einfügen von Bildern: Du kannst das Makro anpassen, um mehrere Bilder auf einmal einzufügen, indem du eine Schleife verwendest.

Tipps für Profis

  • Fehlerbehebung: Teste dein Makro immer, bevor du es postest. Nutze die Debug-Funktion im VBA-Editor, um Fehler zu identifizieren.
  • Verknüpfung statt Einfügen: Wenn du die Bilder nur verlinken möchtest, setze LinkToFile:=msoTrue im Makro.
  • Zellenhöhe anpassen: Für eine bessere Darstellung kannst du die Zeilenhöhe dynamisch an die Bildhöhe anpassen, indem du .EntireRow.Height = .Height im Code verwendest.

FAQ: Häufige Fragen

1. Warum kann ich die Bilder nicht sehen, die ich eingefügt habe?
Das kann daran liegen, dass die Bilder nur auf deinem lokalen Rechner gespeichert sind und nicht für andere zugänglich sind. Stelle sicher, dass die Bilder in der Cloud gespeichert sind.

2. Welche Bildformate kann ich in Excel einfügen?
Du kannst JPG- und PNG-Bilder problemlos einfügen. Für GIFs funktioniert das Einfügen, aber die Animation wird nicht angezeigt.

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