title image


Smiley VBA Jahreszahl ergänzen - mit KeyPress ok - mit Call Jahreszahl nicht?
Guten Morgen,



mit dem nachfolgenden Code wird in einer Textbox bei der Eingabe eines Datums die Jahreszahl automatisch ergänzt, das funktioniert mit dem KeyPress-Ereignis wunderbar:



Option Explicit

Public adat

Public idat

Public ctr As Control



Private Sub cbo1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

'Set ctr = cbo1

'Call JahrszahlErgänzen

Rem *** Datum mit Autoergänzung der Jahreszahl (beim Kopieren die cbo ensprechend ä n d e r n!***

Select Case KeyAscii 'Übergebener Asciicode

Case 8, 48 To 57 'Backtaste, Tasten 0 bis 9



KeyAscii = KeyAscii 'Alles klar



Case 46 'Taste Punkt

adat = 0

Select Case InStr(1, cbo1.Text, ".") 'Wenn bereits 1 Punkt vorhanden (Instr > 0)

Case Is > 0 'Mind. 1 Punkt vorhanden

If Right(cbo1.Text, 4) = CStr(Year(Now)) Then 'Wenn Jahr schon steht

KeyAscii = 0 'keinen Punkt zulassen

ElseIf Right(cbo1.Text, 1) = "." Then 'Wenn letzter Punkt vorhanden

KeyAscii = 0 'keinen Punkt mehr zulassen

cbo1.Text = cbo1.Text & Year(Now) 'und Jahr wieder hinschreiben

cbo1.SelStart = Len(cbo1.Text) - 4 'und Jahr selektieren

cbo1.SelLength = Len(cbo1.Text)

Else 'wenn Jahr nicht da steht und auch kein Punkt am Ende

adat = 1 'ein Punkt

For idat = 1 To Len(cbo1.Text) 'prüfen, ob der 2. Punkt schon steht

If Mid(cbo1.Text, idat, 1) = "." Then 'wenn ja

adat = adat + 1 'a um 1 erhöhen

If adat >= 2 Then

cbo1.Text = cbo1.Text & "." & Year(Now)

cbo1.SelStart = Len(cbo1.Text) - 4

cbo1.SelLength = Len(cbo1.Text)

KeyAscii = 0

Exit For

End If

End If

Next idat

End If

End Select



Case Else 'Alle anderen Tasten

KeyAscii = 0 'werden nicht zugelassen



End Select

End Sub



Wenn ich den Code, den ich für etliche Textboxen benötige, in eine Sub JahreszahlErgänzen auslagere und dann mit Keypress-Ereignis in einer Textbox aufrufe, erscheint eine Fehlermeldung, dass die Variable KeyAscii nicht definiert sei. Was muss ich ändern, um den Code in der Sub zum Laufen zu bringen?

THX

WeDe2

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: