Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

----------------

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
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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige