Giúp đỡ tìm hộ lỗi: Hàm Format

Liên hệ QC

anhthuan

Thành viên hoạt động
Tham gia
10/12/06
Bài viết
106
Được thích
264
Trước đây mình có copy đoạn code trên của một bạn trong diễn đàn về sử dụng rất OK, tuy nhiên vừa rồi mình cài lại máy và chạy lại đoạn code trên thì bị báo lỗi tại dòng: value = Format(value, strFmt). Mình đã xem lại từng dòng code một mà chưa phát hien bi sai vi cái gì. Mong các bạn tìm và sửa lại hộ mình.

Mã:
[B]Private Sub TextBox6_Change()[/B]
 Dim value As String
 Dim strFmt As String
 Dim i As Integer

value = TextBox6.Text
strFmt = ""
If value Like "*" & "." & "*" & "." & "*" Then value = Left(value, Len(value) - 1)
[COLOR="Blue"]'check valid character[/COLOR]
If Not (IsNumeric(value) Or value = "-") Or Right(value, 1) = "," Then
    If Len(value) > 0 Then value = Left(value, Len(value) - 1)
Else
    [COLOR="blue"]'start string Format[/COLOR]
    strFmt = "#,##0"
   [COLOR="blue"] 'check if it is Decimal or not[/COLOR]
    If value Like "*" & "." & "*" Then
        strFmt = strFmt & "."
        For i = 1 To Len(value) - InStr(1, value, ".")
            [COLOR="Blue"]'Increse Zero Number after Decimal[/COLOR]
            strFmt = strFmt & 0
        Next
    End If
    [COLOR="Red"]value = Format(value, strFmt)[/COLOR]
End If
TextBox6.Text = value
[B]End Sub[/B]
 
Mình chạy có thấy báo lỗi gì đâu. Bạn kiểm tra lại xem sao.
 
Upvote 0
Bạn có hai điểm chưa hợp lý:
1. Biến value là kiểu String, khi sử dụng hàm Format (thực chất là format number) bạn phải Val(value)
2. Sự kiện Textbox6_Change xảy ra khi giá trị trên Textboxt6 bị thay đổi. Cuối thủ tục bạn lại thực hiện hành động này thành ra bị lặp vòng (thủ tục không bao giờ kết thúc)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom