chạy code báo lỗi nhưng vẫn ra đúng kết quả

  • Thread starter Thread starter LOIKS
  • Ngày gửi Ngày gửi
Liên hệ QC

LOIKS

Thành viên chính thức
Tham gia
10/8/18
Bài viết
97
Được thích
7
chào mọi người,
mình có file đính kèm lúc chạy code thì kết quả vẫn như mong muốn nhưng nó lại bão lỗi
mong mọi người giúp, hàm mình dùng là tách lấy số bỏ chử
 

File đính kèm

Hàm đó của bạn nên viết vầy cho chặt chẽ nè:
PHP:
Function Tach(rCell As Range) as Long
Dim lCount As Long
Dim sText As String, lNum As String

sText = rCell.Value
For lCount = Len(sText) To 1 Step -1
    If IsNumeric(Mid(sText, lCount, 1)) Then
        lNum = Mid(sText, lCount, 1) & lNum
    End If
Next lCount
If Len(lNum) >= 1 Then Tach = CLng(lNum)
End Function

[Nhờ các SMOD xóa dùm bài này!]
 
Thử thay câu cuối như thế này:

If Len(lNum) > 0 Then Tach = CLng(lNum)
cảm ơn bạn nhé
Bài đã được tự động gộp:

Hàm đó của bạn nên viết vầy cho chặt chẽ nè:
PHP:
Function Tach(rCell As Range) as Long
Dim lCount As Long
Dim sText As String, lNum As String

sText = rCell.Value
For lCount = Len(sText) To 1 Step -1
    If IsNumeric(Mid(sText, lCount, 1)) Then
        lNum = Mid(sText, lCount, 1) & lNum
    End If
Next lCount
If Len(lNum) >= 1 Then Tach = CLng(lNum)
End Function

[Nhờ các SMOD xóa dùm bài này!]
cảm ơn bạn nhé
 
Nếu đọc từng ký tự thìu người ta dùng phép nhân 10 chứ không ghép ký tự rồi đổi sang số.

Dim sText As String, i As Integer, d As Integer
sText = CStr(rCell)
Tach = 0
For i = 1 To Len(sText)
d = AscW(Mid(sText, i, 1)) - AscW("0")
If d >= 0 And d <= 9 Then Tach = Tach * 10 + d
Next i
 
Web KT

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

Back
Top Bottom