
17-04-14, 12:13
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλημέρα!
Ο παρακάτω κώδικας:
Δεν επιτρέπει την επικόλληση κειμένου από το πρόχειρο.
Δεν επιτρέπει την καταχώρηση μή έγκυρου αριθμού στο πεδίο TextBox1.
Λαμβάνει υπόψη του της ρυθμίσεις υποδιαστολής για δεκαδικά ψηφία του υπολογιστή.
Επιτρέπει την καταχώρηση αρνητικού αριθμού. Κώδικας: Option Explicit
Private decSeparator As String
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyV Or KeyCode = vbKeyInsert Then
KeyCode = 0
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Chr(KeyAscii) = "-" Then
If InStr(1, TextBox1.Text, "-") Then
KeyAscii = 0
ElseIf Len(TextBox1.Text) Then
If TextBox1.SelStart > 0 Then
KeyAscii = 0
End If
End If
Else
If Not IsNumeric(Chr(KeyAscii)) Then
If Chr(KeyAscii) = decSeparator Then
If Len(TextBox1.Text) = 0 Or InStr(1, TextBox1.Text, decSeparator) Then
KeyAscii = 0
End If
Else
KeyAscii = 0
End If
End If
End If
End Sub
Private Sub UserForm_Initialize()
decSeparator = Application.International(xlDecimalSeparator)
End Sub
Για να επιστρέψουμε την αριθμητική τιμή του πεδίου TextBox1 στο κελί A1 χρησιμοποιούμε: Κώδικας:
If IsNumeric(TextBox1.Text) Then
Sheet1.Range("A1").Value = CDbl(TextBox1.Text)
Else
Sheet1.Range("A1").ClearContents
End If
όπου Sheet1 = το κωδικό όνομα του φύλλου όπως εμφανίζεται στον VBE πχ. Sheet1(Φύλλο 1)
Φιλικά
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών
Τελευταία επεξεργασία από το χρήστη Tasos : 17-04-14 στις 12:23.
|