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

Forumthread: Makro Bild einfügen und positionieren

Makro Bild einfügen und positionieren
anja
Hallo zusammen,
als erstes möchte ich mich für meine mangelnden Manieren (die ich aber habe) entschuldigen. Als zweites habe ich sehr viele Foren durchstöbert (auch die Checkliste) und konnte nichts finden was dem ähnelt was ich suche.
Mein Problem:
Ich habe eine Exceltabell in die an bestimmten positionen Bilder (Fotos, jpg.) eingefügt werden sollen.
Um das ganze zu vereinfachen möchte ich eine Autoform nutzen und diese einem Makro zuweisen.
Als letzte Anmerkung: Es ist ok wenn einem die Fehler aufgezeigt werden. Dafür bin ich ja hier. Aber es sollte im Rahmen bleiben.
Ich bedanke mich vorab für die Hilfe
Anja
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro Bild einfügen und positionieren
25.04.2012 13:24:27
anja
Hallo Hajo,
Das Problem ist das ich 4 linkshänder Mitarbeiter habe. Die Autoform ist ja nur noch zum drücken da. Und da ich das für ca. 450 Datenblätter machen muss wäre das das einfachste.
Danke
Anzeige
AW: Makro Bild einfügen und positionieren
24.04.2012 22:50:52
Josef

Hallo Anja,
vielleicht so.
Sub insertPicture()
  Dim rng As Range
  Dim objPicture As Object
  Dim strFile As String
  
  strFile = Application.GetOpenFilename("Grafikdateien (*.jpg; *.gif; *.png)," & _
    "*.jpg; *.gif; *.png")
  If strFile <> CStr(False) Then
    On Error Resume Next
    Set rng = Application.InputBox("Zielzelle wählen:", "Grafik einfügen", ActiveCell.Address, Type:=8)
    On Error GoTo 0
    If Not rng Is Nothing Then
      Set objPicture = ActiveSheet.Pictures.Insert(strFile)
      objPicture.Top = rng(1, 1).Top
      objPicture.Left = rng(1, 1).Left
    End If
  End If
  
  Set rng = Nothing
  Set objPicture = Nothing
End Sub



« Gruß Sepp »

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bilder mit VBA in Excel einfügen und positionieren


Schritt-für-Schritt-Anleitung

Um ein Bild in Excel mit einem VBA-Makro einzufügen und zu positionieren, kannst Du den folgenden Code verwenden:

Sub insertPicture()
    Dim rng As Range
    Dim objPicture As Object
    Dim strFile As String

    strFile = Application.GetOpenFilename("Grafikdateien (*.jpg; *.gif; *.png),*.jpg; *.gif; *.png")
    If strFile <> CStr(False) Then
        On Error Resume Next
        Set rng = Application.InputBox("Zielzelle wählen:", "Grafik einfügen", ActiveCell.Address, Type:=8)
        On Error GoTo 0
        If Not rng Is Nothing Then
            Set objPicture = ActiveSheet.Pictures.Insert(strFile)
            objPicture.Top = rng(1, 1).Top
            objPicture.Left = rng(1, 1).Left
        End If
    End If

    Set rng = Nothing
    Set objPicture = Nothing
End Sub
  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul, indem Du mit der rechten Maustaste auf einen Ordner im Projektfenster klickst und "Einfügen" > "Modul" auswählst.
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Weise das Makro einer Autoform zu oder führe es direkt aus.

Jetzt kannst Du mit diesem Makro Bilder in Excel einfügen und sie an die gewünschte Position verschieben.


Häufige Fehler und Lösungen

  • Fehler: Das Bild wird nicht an der richtigen Stelle eingefügt.
    Überprüfe, ob die Zielzelle korrekt ausgewählt wurde. Stelle sicher, dass die Eingabeaufforderung zur Auswahl der Zelle angezeigt wird.

  • Fehler: Keine Datei ausgewählt.
    Achte darauf, dass Du eine Datei auswählst, die dem angegebenen Format (JPG, GIF, PNG) entspricht. Wenn Du eine andere Datei auswählst, wird das Makro nicht funktionieren.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, Bilder in Excel einzufügen:

  1. Manuelles Einfügen: Du kannst Bilder auch manuell über das Menü "Einfügen" > "Bilder" einfügen.
  2. Drag & Drop: Ziehe das Bild einfach aus einem Ordner in das Excel-Dokument.
  3. Excel-Add-Ins: Verwende Add-Ins, die speziell für das Einfügen von Bildern entwickelt wurden.

Praktische Beispiele

  1. Bilder in Zellen einfügen: Du kannst das Makro so anpassen, dass die Bilder direkt in die Zellen eingefügt werden, indem Du die Shapes.AddPicture Methode verwendest.

    ActiveSheet.Shapes.AddPicture(Filename:=strFile, LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, _
       Left:=rng(1, 1).Left, Top:=rng(1, 1).Top, Width:=rng.Width, Height:=rng.Height)
  2. Einfügen mehrerer Bilder: Erstelle eine Schleife, um mehrere Bilder nacheinander einzufügen.


Tipps für Profis

  • Automatisierung: Verwende Schleifen, um das Einfügen von Bildern in mehreren Zellen zu automatisieren.
  • Fehlerbehandlung: Implementiere eine bessere Fehlerbehandlung, um den Benutzern hilfreiche Feedbacks zu geben.
  • Formatierung: Stelle sicher, dass die Bilder in der Größe angepasst werden, um die Zellen optimal zu füllen.

FAQ: Häufige Fragen

1. Wie kann ich ein Bild aus einem Ordner in Excel einfügen?
Verwende das oben genannte Makro, um die Datei auszuwählen. Das Makro öffnet einen Dialog, in dem Du eine Grafikdatei auswählen kannst.

2. Kann ich auch andere Bildformate einfügen?
Ja, Du kannst den Filter im GetOpenFilename-Befehl anpassen, um auch andere Formate wie BMP oder TIFF zu unterstützen.

3. Wie positioniere ich das Bild genau in einer Zelle?
Du kannst die Top- und Left-Eigenschaften des Bildobjekts auf die Koordinaten der Zielzelle setzen, wie im Makro gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige