Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] MsgBox επαναλαμβάνεται (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2436-msgbox-epanalambanetai.html)

anestaki 25-03-13 19:27

MsgBox επαναλαμβάνεται
 
Καλησπέρα και καλή σαρακοστή.
Μου εμφανίζει το μήνυμα δυο φορές και δεν μπορώ να καταλάβω το γιατί !
Κώδικας:

Private Sub TextBox5_Change()
Φύλλο3.Range("j12") = TextBox5.Value
If Φύλλο3.Range("j12") = Φύλλο3.Range("j12").Text Then
TextBox5.Value = ""
Φύλλο3.Range("j12") = ""
MsgBox "Χρησιμοποιούμε την τέλια (.)ως στίξη για τον διαχωρισμό των δεκαδικών."
End If
End Sub


Tasos 25-03-13 23:40

Καλησπέρα!

Γιώργο δοκίμασε:

Κώδικας:

Option Explicit

Private Sub TextBox1_AfterUpdate()
    Dim CellValue As String
    If Trim(Me.TextBox1.Text) = vbNullString Then
        Range("A1").ClearContents
    Else
        CellValue = GetValidNumber(Trim(Me.TextBox1.Text))
        If CellValue <> "" Then
            TextBox1.Text = CellValue
            Range("A1").Value = CDbl(CellValue)
        Else
            MsgBox "H μορφή αριθμού στο πεδίο αυτό δεν είναι έγκυρη !"
            SendKeys "+{TAB}"
        End If
    End If
End Sub

Private Function GetValidNumber(strValue As String) As String
    If Application.DecimalSeparator = "," Then
        strValue = Replace(strValue, ".", ",")
    Else
        strValue = Replace(strValue, ",", ".")
    End If
    If IsNumeric(strValue) Then GetValidNumber = strValue
End Function

Τάσος

anestaki 26-03-13 00:22

Τάσο σε ευχαριστώ όπως πάντα σε αυτό το forum ζήτω ένα και περνώ δυο η περισσότερα.
Καληνύχτα Γιώργος.


Η ώρα είναι 17:24.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2