Bilder an bestimmter Stelle und bestimmter Größe einfügen

11/05/2010 - 18:24 von Sailor | Report spam
Moin, moin zusammen!

Ich möchte z.B. in Zelle A34 ein Bild welches sich tàglich àndert in
bestimmter Größe einfügen. Das Bild wird tàglich neu erstellt und besitzt den
sinnigen Namen "Bild.jpg". Als Namen habe ich dem Bild "Bild1" zugewiesen.

Habe mir folgenden Makro gebastelt, welcher mich aber immer wieder in der
Form überlistet, dass im Bild immer wieder die Eigenschaftseinstellung
"Ansichtsverhàltnis sperren" und "Relativ zur Bildgröße" eingeschaltet ist.
Wie kann ich dies in folgendem Makro ausschalten:

Sheets("Tabelle1").Select
ActiveSheet.Shapes("Bild1").Select
Selection.Delete
Range("A34").Select
ActiveSheet.Pictures.Insert("Bild.jpg").Select
Selection.ShapeRange.Height = 210
Selection.ShapeRange.Width = 470
Selection.ShapeRange.Left = 0
Selection.ShapeRange.Top = 448
Selection.Name = "Bild1"

Also das Bild soll im Endeffekt 21x470 groß sein. Ansonsten funktioniert der
Makro.

Ein schlauer und einfacher Befehl ist gesucht. Habe nur geringe VBA-Erfahrung.
Thx
Sailor
 

Lesen sie die antworten

#1 Andreas Killer
11/05/2010 - 19:52 | Warnen spam
Sailor schrieb:

Ich möchte z.B. in Zelle A34 ein Bild welches sich tàglich àndert in
bestimmter Größe einfügen. Das Bild wird tàglich neu erstellt und besitzt den
sinnigen Namen "Bild.jpg". Als Namen habe ich dem Bild "Bild1" zugewiesen.


...
Also das Bild soll im Endeffekt 21x470 groß sein.


...
Ein schlauer und einfacher Befehl ist gesucht. Habe nur geringe VBA-Erfahrung.



Dann ist meine Empfehlung das Du nach Möglichkeit ohne Select /
Selection arbeitest, das produziert früher oder spàter Fehler.
Außerdem ist es langsam und "flackert mit dem Bildschirm". Zu 99,9%
braucht man es nicht.

Andreas.

Sub Test()
Dim S As Shape, P As Picture
'In Tabelle1
With Sheets("Tabelle1")
'Fehlerbehandlung aus falls Bild nicht da
On Error Resume Next
'Bild löschen
.Shapes("Bild1").Delete
'Fehlerbehandlung ein
On Error GoTo 0
'Bild einfügen
Set P = .Pictures.Insert("Bild.jpg")
'Namen vergeben
P.Name = "Bild1"
'Shape-Object vom Bild holen
Set S = .Shapes("Bild1")
'Seitenverhàltnis aus
S.LockAspectRatio = msoFalse
'Größe setzen
S.Height = 210
S.Width = 470
'Positionieren
With .Range("A34")
S.Top = .Top
S.Left = .Left
End With
End With
End Sub

Ähnliche fragen