Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Bilder per VBA in Tabelle nebeneinander

Mehrere Bilder per VBA in Tabelle nebeneinander
29.04.2019 15:02:00
Andreas
Hallo zusammen,
Ich möchte in eine Tabelle mehrere Bilder aus einem Ordner, sortiert, nebeneinander und ggf. gleich auf Größe angepasst einfügen. Ich habe bereits diesen Code s.u. gefunden der soweit ganz gut funktioniert und das macht was ich will. Aber wenn ich das Makro mit z.B. über Strg+Q ausführe und dann die Bilder auswähle die ich einfügen möchte setzt mir das Makro diese immer in A:1. Ich möchte diese aber dort in Folge einsetzten wo ich gerade die Zelle z.B. (AE:15) markiert habe. Gibt es hier eine Möglichkeit? vielen Dank schonmal im Voraus.
------------------

Sub nebeneinander()
Dim i%, j As Integer
Dim objFile As Object
Dim ObjektDLG As Dialog
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
ObjektDLG.Show
Application.ScreenUpdating = False
i = 1
j = 1
For Each objFile In ActiveSheet.Shapes
objFile.Width = 125
objFile.Left = Cells(1, i).Left
objFile.Top = Cells(j, 1).Top
i = (i + 3)
Next
Application.ScreenUpdating = True
End Sub

----------------
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
29.04.2019 17:05:10
Piet
Hallo Andreas
probıer es bitte mal so:
i=ActiveCell.Column
j=ActiveCell.Row
mfg Piet
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
29.04.2019 17:24:15
Daniel
Hi
der Code platziert die Bilder immer mit 3 Zellen abstand, beginnend in A1.
Wenn die Bilder an der selektierten Zelle nebeneinander eingefügt werden sollen, dann probier mal diesen Code:
Sub nebeneinander()
Dim objFile As Object
Dim ObjektDLG As Dialog
Dim T As Double, L As Double
T = ActiveCell.Top
L = ActiveCell.Left
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
ObjektDLG.Show
Application.ScreenUpdating = False
For Each objFile In ActiveSheet.Shapes
objFile.Top = T
objFile.Left = L
L = L + objFile.Width
Next
Application.ScreenUpdating = True
End Sub
Gruß Daniel
Anzeige
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
29.04.2019 22:13:07
Andreas
Danke Daniel für die super schnelle Lösung. Funktioniert super aber kann man hier noch ggf. 1 Spalte oder Zelle zwischen den Bildern frei lassen?
Danke Gruß Andreas
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
29.04.2019 22:50:42
Daniel
du kannst doch einfach zu L noch einen festen Wert hinzuaddieren, wenn du einen Abstand zwischen den Bildern haben willst - auf die Idee könnte man aber auch selber kommen, ohne dass man im Forum fragen muss.
Gruß Daniel
Anzeige
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
30.04.2019 09:41:35
Andreas
Danke Daniel für die Info. Aber wie im Level beschrieben kenn ich mich mit VBA nicht aus daher die Frage.
Jetzt habe ich aber dazu ein anderes Problem. Wenn ich die Bilder jetzt einfüge werden sie so wie erwartet in die Zelle eingefügt aber sobald ich eine andere Zelle wähle und dort weitere Bilder einfügen möchte werden die aus der vorher eingefügten Zelle auch dort mit hingeschoben. Ist es auch möglich diese zu sortieren?
Hier der Aktuelle Code:
Sub nebeneinander()
Dim objFile As Object
Dim ObjektDLG As Dialog
Dim T As Double, L As Double
T = ActiveCell.Top
L = ActiveCell.Left
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
ObjektDLG.Show
Application.ScreenUpdating = True
For Each objFile In ActiveSheet.Shapes
objFile.Width = 125
objFile.Top = T
objFile.Left = L
L = L + objFile.Width + 30
Next
Application.ScreenUpdating = False
End Sub

Anzeige
AW: Mehrere Bilder per VBA in Tabelle nebeneinander
02.05.2019 11:09:04
Daniel
naja, wenn du dich mit VBA nicht auskennst und Codes verwendest, die du irgenwo gefunden hast, dann ist das ein bisschen wie fahren ohne Führerschein mit "geliehenen" Fahrzeugen.
Da stellt sich immer die Frage, ob man sowas unterstützen sollte oder nicht.
im Prinzip fügt dein Code die Bilder ein und sortiert dann alle Bilder auf dem Blatt.
du müsstest dann ggf die Bilder nach dem Verschieben kennzeichnen und vor dem Verschieben prüfen, ob die Bilder bereits ein Kennzeichen haben.
Teste mal das:
Sub nebeneinander()
Dim objFile As Object
Dim ObjektDLG As Dialog
Dim T As Double, L As Double
T = ActiveCell.Top
L = ActiveCell.Left
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
ObjektDLG.Show
Application.ScreenUpdating = True
For Each objFile In ActiveSheet.Shapes
if left(objFile.Name, 3)  "xxx" then
objFile.Width = 125
objFile.Top = T
objFile.Left = L
objFile.Name = "xxx" & objFile.Name
L = L + objFile.Width + 30
end if
Next
Application.ScreenUpdating = False
End Sub
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Bilder per VBA in Excel nebeneinander einfügen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne ein bestehendes.

  2. Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinArbeitsblatt)", dann "Einfügen" > "Modul".

  4. Kopiere den folgenden Code in das Modul:

    Sub nebeneinander()
       Dim objFile As Object
       Dim ObjektDLG As Dialog
       Dim T As Double, L As Double
       T = ActiveCell.Top
       L = ActiveCell.Left
       Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
       ObjektDLG.Show
       Application.ScreenUpdating = False
       For Each objFile In ActiveSheet.Shapes
           objFile.Top = T
           objFile.Left = L
           L = L + objFile.Width + 30 ' Abstand zwischen Bildern
       Next
       Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Wähle die Zelle aus, ab der die Bilder eingefügt werden sollen.

  7. Führe das Makro aus: Drücke Alt + F8, wähle nebeneinander und klicke auf "Ausführen".

  8. Wähle die Bilder aus dem Dialog aus, die du in die Tabelle einfügen möchtest.


Häufige Fehler und Lösungen

  • Fehler: Bilder werden immer in A1 eingefügt
    Lösung: Stelle sicher, dass du die gewünschte Zelle markiert hast, bevor du das Makro ausführst. Der Code verwendet ActiveCell, um die Position der Bilder festzulegen.

  • Fehler: Bilder überlappen sich
    Lösung: Achte darauf, dass der Abstand zwischen den Bildern im Code korrekt festgelegt ist. Du kannst den Wert 30 anpassen, um mehr oder weniger Abstand zu schaffen.


Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch mehrere Bilder in Excel einfügen, indem du die Bilder manuell auswählst und sie dann in die gewünschte Zelle ziehst. Eine andere Möglichkeit ist, Bilder in einer Word-Tabelle nebeneinander anzuordnen, wenn Word für deine Anforderungen besser geeignet ist.


Praktische Beispiele

  • Um 3 Bilder nebeneinander einzufügen, wähle die Zelle aus und führe das Makro aus. Du kannst auch eine feste Breite für die Bilder im Code angeben, um sicherzustellen, dass sie gut nebeneinander passen.
  • In einem anderen Szenario, wenn du 4 Bilder in einer Zeile brauchst, kannst du den Wert von L und die Breite der Bilder im Code anpassen.

Tipps für Profis

  • Bilder in einer Zelle: Wenn du mehrere Bilder in einer Zelle haben möchtest, kannst du die Bilder gruppieren, nachdem du sie eingefügt hast. Dies ermöglicht eine bessere Handhabung.
  • Excel mehrere Bilder markieren: Halte die Strg-Taste gedrückt, während du die Bilder auswählst, um mehrere Bilder gleichzeitig zu markieren und zu bearbeiten.

FAQ: Häufige Fragen

1. Wie kann ich den Abstand zwischen den Bildern anpassen?
Du kannst den Wert 30 in der Zeile L = L + objFile.Width + 30 im VBA-Code ändern, um den Abstand zwischen den Bildern zu erhöhen oder zu verringern.

2. Kann ich die Bilder in eine bestimmte Zelle einfügen?
Ja, das Makro verwendet die aktuelle Zelle, die du ausgewählt hast, um die Bilder einzufügen. Stelle sicher, dass du die gewünschte Zelle markiert hast, bevor du das Makro ausführst.

3. Funktioniert dieser Code in jeder Excel-Version?
Der Code sollte in den meisten gängigen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass die Makros in deiner Excel-Installation aktiviert sind.

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