vba - frage zu zwei steuerelementen

16/02/2010 - 09:47 von hotzenplotz | Report spam
hallo zusammen,

bei textfeld und listenfeld hàtte ich folg. fragen:

zum textfeld
dort sollen nur zahlen eingegeben werden, die in € vorformatiert sind.
geht das?

zum listenfeld
gibt es eine möglichkeit im listenfeld auf einen eintrag zu springen,
wenn man den ersten buchstaben in der tastatur eingbit?

freue mich auf eine antwort

beste grüße klaus
 

Lesen sie die antworten

#1 Andreas Killer
16/02/2010 - 15:32 | Warnen spam
hotzenplotz schrieb:

zum textfeld
dort sollen nur zahlen eingegeben werden, die in € vorformatiert sind.
geht das?


Nicht "von Haus aus", das musst Du programmieren.

Um die einzugebenden Zeichen einer TextBox abzufangen gibt es das
KeyPress-Ereignis, setzt Du KeyAscii=0 dann ist diese Eingabe nicht
erlaubt. Ich poste mal meine "Universal-Routine" die Du Dir anpassen
kannst.

Um ein €-Zeichen "vorzuformatieren" musst Du das Change-Ereignis
benutzen und in diesem selber das "€" einfügen.

schnipp
Private Sub TextBox1_Change()
With TextBox1
.Value = "€" & Replace(.Value, "€", "")
End With
End Sub

Private Sub Textbox1_KeyPress( _
ByVal KeyAscii As MSForms.ReturnInteger)
TB_KeyPress KeyAscii
End Sub

'Universal-Routine:

Private Sub TB_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Làßt nur Zahlen in der Textbox zu
Select Case KeyAscii
Case Asc(Application.International(xlThousandsSeparator))
'Erlaube Tausender Trennzeichen/àndere zu Dezimaltrenner
KeyAscii = Asc(Application.International(xlDecimalSeparator))
Case Asc("0") To Asc("9")
'Erlaube Ganzzahlen
Case Asc("-")
'Erlaube Negative Werte/Berechnungen
Case Asc(Application.International(xlDecimalSeparator)), _
Asc("E"), Asc("e")
'Erlaube Dezimalzahlen
Case Asc("+"), Asc("*"), Asc("/"), Asc("^")
'Erlaube Berechnungen
Case Else
'Nicht erlaubt
KeyAscii = 0
End Select
End Sub
schnapp

zum listenfeld
gibt es eine möglichkeit im listenfeld auf einen eintrag zu springen,
wenn man den ersten buchstaben in der tastatur eingbit?


Dafür ist die MatchEntry-Eigenschaft zustàndig welche auf
fmMatchEntryFirstLetter stehen sollte.

Andreas.

Ähnliche fragen