29 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

mit " Image1.Left = Image1.Left + 20 " kann ich eine Grafik bzw. Image in einer Userform um 20 Punkte horizontal verschieben (ist bei einem Button hinterlegt).

Wie kann dabei verhindert werden, dass ein bestimmter Wert nicht überschritten wird? Und nach Möglichkeit wieder in die andere Richtung verschoben wird?

Ein Beispiel zur Veranschaulichung:

100 Punkte wären die Grenze, d.h. das Left von Image 1 kann solange um 20 Punkte verschoben werden, bis es 100 erreicht hat. Dann muss es stoppen, oder besser noch wieder um 20 Punkte in die andere Richtung versetzt werden.

Für eure Hilfestellung wäre ich sehr verbunden,

viele Grüße

7 Antworten

0 Punkte
Beantwortet von m-o Profi (17.5k Punkte)

Hallo,

das kannst du mit einer entsprechenden IF-Abfrage lösen:

Private Sub CommandButton1_Click()
Dim lngLinks As Long

lngLinks = Image1.Left + 20
If lngLinks > 100 Then lngLinks = 80
Image1.Left = lngLinks

End Sub

Gruß

M.O.

0 Punkte
Beantwortet von
Hallo M.O.,

super, klappt.

danke :)

VG
0 Punkte
Beantwortet von
Jetzt muss ich um einen weiteren Ratschlag bitten :/

Wie kann ich das ganze Spiel nun in die andere Richtung (also mit minus 20) , sowie mit vertikaler Achse (Eigenschaft "Top", ebenso +/- 20) weitertreiben?

Die "Grenzen" lägen hier bei:

Top Oben 270

Top Unten 444

Left Rechts 414

Left Links 156

Hintergrund: durch den Button wird ja über diese Prozedur das Image1 in einem gewissen Rahemn verschoben und soll die Rahmengrenze dabei nicht überschreiten.

Vielen Dank und viele Grüße
0 Punkte
Beantwortet von m-o Profi (17.5k Punkte)

Hallo,

das geht im Prinzip genauso. Wenn du für jede Richtung einen entsprechenden Button hast musst du die Codes wie im geposteten Beispiel aufbauen und die jeweilige obere bzw. untere Grenze prüfen. Beispiel für Minus links:

Private Sub CommandButton2_Click()
Dim lngLinks As Long

lngLinks = Image1.Left - 20
If lngLinks < 156 Then lngLinks = 156
Image1.Left = lngLinks

End Sub

Hast du für jede Richtung einen Button oder nimmst du Spin-Buttons?

Gruß

M.O.

0 Punkte
Beantwortet von
Habe aktuell nur einen Button. Es wäre natürlich möglich, 3 weitere zu erstellen, aber wenn es über einen geht wäre das praktischer, da weniger Aufwand :)

Was ist ein Spin-Button und wie funktioniert dieser?

VG

Kein ExcelMeister2020
0 Punkte
Beantwortet von m-o Profi (17.5k Punkte)

Hallo,

hier mal eine kleine Beispieldatei mit einem Spin-Button oder Drehfeld: Beispieldatei

Schau mal, ob du das so gebrauchen kannst.

Gruß

M.O.

0 Punkte
Beantwortet von
Hallo M.O.

danke für die Hilfestellung.

Habe es jetzt bei dem einen Button belassen und die flexible Steuerung mehr oder weniger starr aufgebaut (festgelegte Zielpositionen, keine flexiblen + - X-Werte).

Viele Grüße

Kein ExcelMeister2020
...