Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

ASCII für Minuszeichen geht nicht

Betrifft: ASCII für Minuszeichen geht nicht von: Oswald_1968
Geschrieben am: 14.08.2008 00:11:41

Hallo an die Fachleute,

bin gerade dabei für einen Kollegen eine Registrierkasse zu programmieren.
Sieht so aus das es 15 Buttons gibt die er mit bestimmten Produkten und Preisen belegen kann.
Beim anklicken des Buttons wird das Produkt und Preis in eine Textbox zur übersicht geschrieben.
Bei jedem weitern klick wird noch mal das Produkt und Preis angehängt.

Nun hab ich es geschaft das ich mit dem Minuszeichen auf dem Ziffernblock auch eine Produkt wieder abziehen kann. Mit der Abfrage bei Keydown und vbKeySubtract.

Select Case KeyCode
Case 8 'BackSpace-Taste zum Korrigieren
Case 188 'Komma
'nur 1 Kommastelle zulasen
If InStr(1, Me.TextBox4.text, ",", vbTextCompare) > 0 Then
KeyCode = 0
End If


'Case 37, 39 'Cursor-Tasten (<— und —>)
Case 46 'Entf-Taste
Case vbKeyDecimal 'Komma auf dem Zahlenblock
If InStr(1, Me.TextBox4.text, ",", vbTextCompare) > 0 Then
KeyCode = 0
End If
Case 48 To 57 'Zahlen von 0 bis 9 (Zifferntastatur)
Case 96 To 105 'Zahlen von 0 bis 9 (Nummerntastatur)
Case 13 'Enter-Taste (<——'), anschließend zurücksetzen auf Null
summe = 0
text = ""
UserForm1.TextBox1 = 0
UserForm1.TextBox2 = 0
UserForm1.TextBox3 = ""
anzahl = ""
UserForm1.TextBox4 = ""
UserForm1.TextBox5 = ""
'UserForm1.TextBox4.SetFocus
Case vbKeySubtract 'Minustaste für Rückbuchung zulassen, aber nicht schreiben
KeyCode = 0
minus = -1
Case 45 'Minustaste auf der Tastatur für die Rückbuchung zulassen, aber nicht schreiben
KeyCode = 0
minus = -1

Was nicht geht ist das Minuszeichen auf der Tastatur, müßte ja das ASCII 45 sein.
Darauf reagiert das ganze aber nicht.
Das minus = -1 brauche ich um den Preis von der Gesamtsumme zu subtrahieren.

Hoffe einer von euch guten Geister kann mir helfen, und einen Schupf in die richtige Richtung geben.

Danke euch schon jetzt, und macht weiter so.
Durch das Forum hier habe ich schon viele Erfolgserlebnisse und damit Spaß beim Programmieren gehabt.

Gruß und gute Nacht
Oswald

  

Betrifft: AW: ASCII für Minuszeichen geht nicht von: Nepumuk
Geschrieben am: 14.08.2008 00:45:37

Hallo Oswald,

im KeyDown - Ereignis wird nicht der Ascii - Code des Zeichens, sondern der KeyCode also die Tastennummer zurückgegeben. Das ist für das minus der Tastatur die 189 und für das minus im Ziffernblock die 109.

Gruß
Nepumuk


  

Betrifft: AW: ASCII für Minuszeichen geht nicht von: Oswald
Geschrieben am: 14.08.2008 09:03:45

Hallo Nepumuk,

danke, jetzt funktioniert es.

Gibt es da Listen? Hab beim googeln bzw. in der Hilfe nichts gefunden.

Liegt vielleicht auch an mir?

Echt super, danke noch mal.

Gruß
Oswald


  

Betrifft: AW: ASCII für Minuszeichen geht nicht von: Nepumuk
Geschrieben am: 14.08.2008 09:27:32

Hallo Oswald,

leg ein neues Userform an mit einer Textbox und einem Label. Dazu folgenden Code:

' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Label1.Caption = KeyCode
    KeyCode = 0
End Sub

Gruß
Nepumuk


  

Betrifft: AW: ASCII für Minuszeichen geht nicht von: Oswald
Geschrieben am: 14.08.2008 09:42:21

Hallo Nepumuk,

wieder super.

Werde ich heute Abend probieren.

Danke dir.

Gruß
Oswald


 

Beiträge aus den Excel-Beispielen zum Thema "ASCII für Minuszeichen geht nicht"