Hỏi về hàm extracnumber giữ định dạng (1 người xem)

Người dùng đang xem chủ đề này

babyrock2009

Thành viên mới
Tham gia
26/11/10
Bài viết
34
Được thích
2
Mọi người cho mình hỏi khi mình dúng extracnumber thì nó sẽ bị mất số 00 ở đầu, có cách nào giữ nguyên số đó ko ạ
Ví dụ Cột A1 : TV001234
Cột A2 : TVBC02345
nếu mình dùng exttractnumber thì nó chỉ ra 1234 và 2345 mà ko phải là 001234 và 02345
 
Mọi người cho mình hỏi khi mình dúng extracnumber thì nó sẽ bị mất số 00 ở đầu, có cách nào giữ nguyên số đó ko ạ
Ví dụ Cột A1 : TV001234
Cột A2 : TVBC02345
nếu mình dùng exttractnumber thì nó chỉ ra 1234 và 2345 mà ko phải là 001234 và 02345
Bạn đưa file mẫu có công thức đang sử dụng lên, để các thành viên khác hỗ trợ tốt hơn.
 
Mọi người cho mình hỏi khi mình dúng extracnumber thì nó sẽ bị mất số 00 ở đầu, có cách nào giữ nguyên số đó ko ạ
Ví dụ Cột A1 : TV001234
Cột A2 : TVBC02345
nếu mình dùng exttractnumber thì nó chỉ ra 1234 và 2345 mà ko phải là 001234 và 02345
Hình như cái hàm ExtractNumber là hàm tự tạo thì phải. Bạn vào hàm đó bỏ lệnh chuyển đổi chuỗi thành số thử xem
 
Có phải cái hàm này không
PHP:
Function ExtractNumber(rCell As Range, Choose As Boolean)
    Dim lCount As Long
    Dim sText As String
    Dim lNum As String
    sText = rCell
    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 Choose = True Then ExtractNumber = CLng(lNum)
    If Choose = False Then ExtractNumber = lNum
End Function
Mình thêm 1 cái lựa chọn nữa
+ Nếu chọn là "True" hoặc 1 thì cho kết quả là số
+ Nếu chọn là "False" hoặc 0 thi cho kết quả là chuỗi
 
Mọi người cho mình hỏi khi mình dúng extracnumber thì nó sẽ bị mất số 00 ở đầu, có cách nào giữ nguyên số đó ko ạ
Ví dụ Cột A1 : TV001234
Cột A2 : TVBC02345
nếu mình dùng exttractnumber thì nó chỉ ra 1234 và 2345 mà ko phải là 001234 và 02345
dùng công thức mảng
Mã:
=MID(A1,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1),11)),10)
Nhấn Ctrl+Shift+Enter
 
Có phải cái hàm này không
PHP:
Function ExtractNumber(rCell As Range, Choose As Boolean)
    Dim lCount As Long
    Dim sText As String
    Dim lNum As String
    sText = rCell
    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 Choose = True Then ExtractNumber = CLng(lNum)
    If Choose = False Then ExtractNumber = lNum
End Function
Mình thêm 1 cái lựa chọn nữa
+ Nếu chọn là "True" hoặc 1 thì cho kết quả là số
+ Nếu chọn là "False" hoặc 0 thi cho kết quả là chuỗi
Bạn xem thêm giúp mình trường hợp này với
Mình dùng hàm ExtractNumber nhưng áp dụng với nhiều dữ liệu thì báo lỗi
 

File đính kèm

Bạn xem thêm giúp mình trường hợp này với
Mình dùng hàm ExtractNumber nhưng áp dụng với nhiều dữ liệu thì báo lỗi
Bạn thử thay như thế này xem sao
PHP:
Sub Button1_Click()
    Dim I As Long
    For I = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Range("B" & I) = ExtractNumber(Range("A" & I), True)
    Next I
End Sub
 
Bạn thử thay như thế này xem sao
PHP:
Sub Button1_Click()
    Dim I As Long
    For I = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Range("B" & I) = ExtractNumber(Range("A" & I), True)
    Next I
End Sub
Chuẩn rồi PacificPR ơi
Hôm nay mới để ý hình đại diện của bạn thay áo mới đó nha.
Nhưng mình thích cô ấy cái lúc thay áo hơn.....^^^^
 
Một hàm khác áp dụng cho dữ liệu của bạn để bạn tham khảo.
Mã:
Function ExtractNumber(ByVal rCell As Range) As String
    With CreateObject("Vbscript.Regexp")
        .Pattern = "\d+$"
        ExtractNumber = .Execute(rCell)(0)
    End With
End Function
 
Chuẩn rồi PacificPR ơi
Hôm nay mới để ý hình đại diện của bạn thay áo mới đó nha.
Nhưng mình thích cô ấy cái lúc thay áo hơn.....^^^^
Cái trên mà đưa vào Code này thì không chạy được
PHP:
Sub Tachso()
    Dim sArr(), dArr(), I As Long
    sArr = Range("A1", Range("A" & Rows.Count).End(3)).Value
    ReDim dArr(1 To UBound(sArr), 1 To 1)
    For I = 1 To UBound(sArr)
        dArr(I, 1) = ExtractNumber((sArr(I, 1)), True)
    Next I
    Range("B1").Resize(I - 1, 1) = dArr
End Sub
Nếu mình dùng cái hàm đó mình sẽ sửa lại như thế này
Mã:
Function ExtractNumber(sText As String, Choose As Boolean)
    Dim lCount As Long
    Dim lNum As String
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 Choose = True Then ExtractNumber = CLng(lNum)
If Choose = False Then ExtractNumber = lNum
End Function
 
Bạn xem thêm giúp mình trường hợp này với
Mình dùng hàm ExtractNumber nhưng áp dụng với nhiều dữ liệu thì báo lỗi
Bài này đơn giản thế này thôi:
PHP:
Sub abc()
    Columns(2).Value = Columns(1).Value
    With Columns(2)
        .Replace "TV--00", ""
        .Replace "-ABC", ""
        .Replace "0  0", ""
    End With
End Sub
 

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

Back
Top Bottom