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 .
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.
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
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.
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.