Registriert seit: 23.08.2018
Version(en): 2007
06.01.2021, 20:36
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2021, 21:27 von opa_oli.)
Hallo und ein frohes und gesundes Neues Jahr. Folgendes Problem bekomme ich nicht gelöst: Ich habe eine Liste (Mangelliste), in der ich zeilenweise die zugehörigen Bilder einfügen will. In Spalte "I" kommt ein Hyperlink auf die Bilddatei In Spalte "J" kommt das Bild selbst (Orientierung links und oben) Der Code selbst funktioniert einwandfrei. Aus einem mir nicht nachvollziehbaren Grund wird bei ein paar Bildern (immer die gleichen) das Bild selbst um ca. 530 Punkte nach rechts versetzt dargestellt (ca. 3 Zellen) und nicht linksbündig in der Zelle in Spalte J selbst. Das geschieht beim Befehl, die Höhe anzupassen. Hilfe/Tipp wäre echt toll. Danke schon einmal vorab Opa Oli Code: Nrt = Cells(ActiveCell.Row, 1).Value
Bild = "M:\325\08 Bauleitung\11 LOP\EG\LOP B" & Nrt & ".jpg" 'Hyperlink zum Bild einfügen in Spalte I Cells(ActiveCell.Row, 9).Select Bereich = "I" & ActiveCell.Row With Worksheets(1) .Hyperlinks.Add Anchor:=.Range(Bereich), _ Address:="M:\325\08 Bauleitung\11 LOP\EG\LOP B" & Nrt & ".jpg", _ ScreenTip:="Bild öffnen", _ TextToDisplay:=Cells(ActiveCell.Row, 2).Value & "\LOP B" & Nrt & ".jpg" End With 'Bild einfügen in Spalte J Cells(ActiveCell.Row, 10).Select ActiveSheet.Pictures.Insert(Bild).Select [color=#333333][size=small][font=Monaco, Consolas, Courier, monospace] ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select[/font][/size][/color] [color=#333333][size=small][font=Monaco, Consolas, Courier, monospace] Selection.Placement = xlMove[/font][/size][/color] Selection.ShapeRange.Height = 62.3622047244
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wenn Du das Bild in Spalte J einfügen willst müsstest DU 10 nehmen und nicht 9. Vorteilhaft wäre auch beim eingefügten Bild Top und Left anhand der Zelle auszurichten.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• opa_oli
Registriert seit: 23.08.2018
Version(en): 2007
Hallo und Danke. Korrekter Hinweis, aber leider war das nur ein Kopierfehler im Code hierher. Ich habe aber gerade gesehen, dass die entscheidenden 2 Zeilen nicht im Code sind: Code: ActiveSheet.Pictures.Insert(Bild).Select ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select Selection.Placement = xlMove Selection.ShapeRange.Height = 62.3622047244
Das Einfügen klappt noch linksbündig aber bei dem Befehl für die Höhe >Height< springt dann das Bild nach rechts Dummerweise nicht bei jedem Bild sondern nur bei einigen. Noch eine Idee?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, Zuweilen ergeben sich seltsame Effekte wenn das Seitenverhältnis gesperrt ist. Prüf das mal.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 23.08.2018
Version(en): 2007
06.01.2021, 21:58
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2021, 22:03 von opa_oli.)
So, jetzt habe ich noch einige Einstellungen ausprobiert mit
- Seitenverhältnis gesperrt => raus
- Relativ zum Original => mal raus / mal rein
- die Breite auch noch angegeben
Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Width = 83.2436669398 Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Height = 62.36220472444
und dabei die Optionen der 3 Zellpositionseinstellungen ausprobiert.
Neue Erkenntnis:
nach der Breiteneinstellung bleibt das Bild noch linksbündig und springt erst mit "Height" nach rechts.
Noch eine Idee?
Opa Oli
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wo hast Du das vorgeschlagene Top und Left?
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 23.08.2018
Version(en): 2007
Die Einstellung der Zellen selbst in der Spalte ist immer mit Orientierung oben und links. Es muss an etwas anderem als Standardthemen liegen, denn bei einem Teil der Bilder klappt es, bei einem anderen eben nicht.
Es scheint aber an den Bilddateien selbst zu liegen bzw. wie Excel mit denen umgeht, denn wenn ich eines der Funktionierenden umbenenne, dann klappt es auch in der Zeile, in der sonst das Bild nach rechts rutscht. Es sind aber alles ganz normale verkleinerte "Handy-Bilder" aus dem gleichen Gerät.
Nochmals: Das Bild laden klappt immer. Jedes Bild wird in der Zelle in zu großem Format links und oben bündig eingefügt. Dann wird das Bild ausgewählt und die Breite auf das gewünschte Maß verringert. Das Bild ist immer noch links und oben. Jetzt wird das Bild auf die Höhe gebracht.
=> und nun werden die Bilder unterschiedlich in der Tabelle platziert.
Ich bin echt am verzweifeln. Ich finde keine Logik.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, ich kann mich auch nur wiederholen. Da Dir hier kein anderer User Vorschläge macht wird würde ich Top und Left zumindest mal in Erwägung ziehen
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• opa_oli
Registriert seit: 23.08.2018
Version(en): 2007
Hallo schauan, auch diesen Rat habe ich natürlich ausprobiert. Ich habe von einem funktionierenden Bild Left und Top ausgelesen und von einem nicht funktionierenden (siehe im Code die Kommentare mit "Stop") "Top" funktioniert ja wie mitgeteilt einwandfrei. Bei "Left" scheint es so zu sein, dass Excel die Bildmitte als Referenz nimmt und nicht die linke Ecke des Bildes. Gebe ich für das nicht funktionierende Bild die Left-Zahl des funktionierenden Bildes als Wert vor, dann ist es MITTIG unter dem richtigen Bild platziert und nicht linksbündig an der Zelle , wie noch beim Einfügen mit falscher Bildgröße. Code: 'Bild einfügen in Spalte J Cells(i, 10).Select ActiveSheet.Pictures.Insert(Bild).Select ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select Selection.Placement = xlMove ' Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Width = 83.2436669398
' links = Selection.ShapeRange.Left ' Stop
Selection.ShapeRange.Left = 1185
Aber damit wir uns beide wichtigeren Themen im Leben widmen können, danke ich Dir nochmals SEHR für die Unterstützung und ich "lebe jetzt mal damit" ?? Immerhin ist es besser, mit 99% die Aufgabe zu lösen als mit 105% nicht ? Grüße Opa Oli
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, wenn ich ein Bild in die linke obere Ecke z.B. von C3 haben will, dann mache ich das so: Code: Sub Makro1() ActiveSheet.Pictures.Insert("C:\Test\6692.jpg").Select Selection.ShapeRange.LockAspectRatio = msoFalse Selection.Top = Cells(3, 3).Top Selection.Left = Cells(3, 3).Left Selection.Height = Cells(3, 3).Height Selection.Width = Cells(3, 3).Width End Sub
wobei ich vielleicht noch überlege, ob das ohne Select geht und was man och vereinfachen könnte
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|