Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Bilder übergeben und ändern

Bilder übergeben und ändern
26.10.2022 07:38:12
Shouchen
Hallo allerseits,
eigentlich tut es mir leid, Leute mit meiner Unkenntnis zu nerven.
Ich bin extrem unerfahren und nach diversen Video Tutorials und dem Durchforsten von Seiten, versuche ich nun mir hier Hilfe zu holen.
Ich glaube mein Problem ist recht simpel, nur von absoluter unkenntnis geprägt.
Ich versuche, damit ich es später weiter automatisieren und rotieren kann, ein Bild in einer Variable zu speichern, dann seine Position zu ändern, so dass ich es auf dem Worksheet beobachten kann. Leider schaffe ich es nicht, entweder sinnvoll das Objekt zu übergeben an die Funktion oder er kann nichts damit anfangen, wenn ich das Bild manipulieren will.
(Das Bild liegt bereits auf dem Worksheet und es ist das Einzige Bild, damit will ich nur passen.)

Sub Schaltfläche1_Klicken()
Dim xb As Double
Dim yh As Double
Dim PicBild As Picture
Set PicBild = ActiveSheet.Pictures(1)
xb = 4.58
yh = Application.CentimetersToPoints(1)
Columns("A:H").ColumnWidth = xb
Rows("1:10").RowHeight = yh
'Setzt das Bild an Position'
Bildwandern xb, yh, PicBild
End Sub

Sub Bildwandern(ByVal x As Double, ByVal y As Double, ByVal PicBild As Picture)
Dim k As Integer
k = 5
Do While k > 0
Calculate
Application.Wait (Now + TimeValue("0:00:1"))
PicBild = Tabelle1.Range("B2").Height * k
k = k - 1
Loop
End Sub
Was habe ich hier konkret falsch gemacht und gerne auch Verbesserungen im Allgemeinen?
Ich verstehe, wahrscheinlich muss man da schon relativ weit unten anfangen.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder übergeben und ändern
26.10.2022 08:16:42
volti
Hallo,
mit dieser Sub wird das Bild von größer nach kleiner geändert und an die übergebene Position gesetzt.
Du hast das Bild schon korrekt an die Funktion übergeben. Das PicBild ist allerdings ein Objekt, bei dem Du dann auch die entsprechenden Eigenschaften ändern musst/kannst. In diesem Fall halt die Eigenschaften "Height", "Left" und "Top".
An Stelle von Calculate solltest Du lieber DoEvents nehmen, um zwischenzeitlich die Kontrolle wieder an das System zu übergeben.
Code:


Sub Bildwandern(ByVal x As Double, ByVal y As Double, ByVal PicBild As Picture) Dim k As Integer k = 5 Do While k > 0 DoEvents Application.Wait (Now + TimeValue("0:00:1")) With PicBild .Left = x .Top = y .Height = Tabelle1.Range("B2").Height * k End With k = k - 1 Loop End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Bilder übergeben und ändern
26.10.2022 09:56:37
Shouchen
Super!
Vielen lieben Dank Karl-Heinz.
Der Stil sieht auch einfach schöner aus und den Tipp mit DoEvents werde ich beherzigen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige