
05-06-24, 14:32
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλησπέρα Γιώργο.
Δοκίμασε: Κώδικας: Option Explicit
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
' Πλήκτρο διαχωριστικού δεκαδικών = 110
' Πλήκτρο κόμματος = 188
If KeyCode = 110 Or KeyCode = 188 Then
KeyCode = 190
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Επιτρέπει μόνο αριθμούς, τελεία και κόμμα.
If Not (IsNumeric(ChrW(KeyAscii)) Or ChrW(KeyAscii) = "," Or ChrW(KeyAscii) = ".") Then
KeyAscii = 0
End If
End Sub
' Για έλεχγο και μετατροπή μετά από επικόλληση:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' Μετατρέπει το κόμμα σε τελεία για αμερικανική μορφή δεκαδικών
Dim strText As String
Dim decimalSeparator As String
decimalSeparator = Application.International(xlDecimalSeparator)
strText = TextBox1.text
strText = Replace(strText, ",", decimalSeparator)
strText = Replace(strText, ".", decimalSeparator)
If IsNumeric(strText) Then
If InStr(strText, ",") Then
strText = Replace(strText, ",", ".")
End If
TextBox1.text = strText
Else
TextBox1.text = vbNullString
End If
End Sub
Καλή συνέχεια!
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών
Τελευταία επεξεργασία από το χρήστη Tasos : 06-06-24 στις 00:52.
|