Anhand wert in textbox bildausgabe

Hallo Leute,

da mir das letzte mal schon super geholfen wurde und ich wieder vor einer herausforderung stehe, wo ich selber nicht weiter weiß, hoffe ich das ihr mir weiterhelfen könnt!

vorab möchte ich gleich mal klarstellen das ich ein vba-newbie bin :wink:.

also:

mein problem wäre, dass ich eine Textbox habe und zunächst einmal in diese einen Wert zwischen 1000 und 2000(in weiterer Folge dann zwischen 2000 und 3000 usw.)eintrage. Daraufhin soll mir eine Picturebox ein bestimmtes Bild ausgeben.

ich habe es mit einer if-funktion versucht, doch es tut sich leider nicht, da ich es wahrscheinlich falsch gemacht habe.

Private Sub TextBox1_Change()
Dim Textbox As Long

If (Textbox

mein problem wäre, dass ich eine Textbox habe und zunächst
einmal in diese einen Wert zwischen 1000 und 2000(in weiterer
Folge dann zwischen 2000 und 3000 usw.)eintrage. Daraufhin
soll mir eine Picturebox ein bestimmtes Bild ausgeben.

Hallo Aksan,

probiers mal so:

Private Sub TextBox1\_Change()
Select Case CInt(TextBox1.Value)
 Case 1000 To 2000
 Image1.Picture = LoadPicture("C\Dokumente und Einstellungen\lifebook\Desktop\Neuer Ordner\Bewertung1.jpg")
 Image1.Width = "138,6"
 Image1.Height = "72,85" 'hier habe ich nur die größe fixiert
 Case 2001 To 3000
 Image1.Picture = LoadPicture("C\Dokumente und Einstellungen\lifebook\Desktop\Neuer Ordner\Bewertung2.jpg")
 Case Else
 MsgBox "falsche Eingabe"
End Select
Documents.Add 'nötig um das Image zu aktualisieren, refresh,repaint geht nicht
ActiveDocument.Close savechanges:=False
End Sub

Gruß
Reinhard

Hallo Reinhard,

wieder einmal danke für deine Hilfe - eins wäre da noch. Wenn nichts in der Box steht bzw vorher was gestanden ist und ich den Wert Lösche, schreit es sofort „Laufzeitfehler 13“. Sieht er die leere Textbox als ein „Zeichen“ und kann sich daher mit Integer nicht vertragen? - wie kriege ich das hin weil es ja sehr oft vorkommen wird das ein anderer Wert eingegeben wird und es ganz schön nervt wenn die Fehlermeldung aufleuchtet.

glg sewi

wieder einmal danke für deine Hilfe - eins wäre da noch. Wenn
nichts in der Box steht bzw vorher was gestanden ist und ich
den Wert Lösche, schreit es sofort „Laufzeitfehler 13“. Sieht
er die leere Textbox als ein „Zeichen“ und kann sich daher mit
Integer nicht vertragen? - wie kriege ich das hin weil es ja
sehr oft vorkommen wird das ein anderer Wert eingegeben wird
und es ganz schön nervt wenn die Fehlermeldung aufleuchtet.

Hallo Sewi,

schreib das oberhalb der Selectzeile in die Prozedur:

If Not IsNumeric(TextBox1.Value) Then Exit Sub

Anstatt

Private Sub TextBox1_Change()

kannst du auch mal

Private Sub TextBox1_LostFocus()

testen. Unterschied ist, Change wird bei jedem einzelnen Zeichen ausgelöst daß du eingibst.
LostFocus erst dann wenn du aus der Textbox herausgehst.

Gruß
Reinhard

heeey super danke!! voll genial!!

glg sewi