Sep 192010
Hôm nay bỗng nhận được một tập tin excel của khách hàng, trong đó có một cột mã chấm công có số, có chữ lộn xộn nhau không theo một qui luật nào hết (ví dụ: M123E, 155D, F33). Nhưng mình thì cần mã chấm công chỉ toàn số thôi (ví dụ: 123, 155, 33). Làm sao tách được số ra khỏi chuỗi, trong khi excel không có hàm đó. Làm cách nào đây? Chẳng lẽ làm bằng tay, làm biết đến bao giờ cho xong, mấy ngàn dòng dữ liệu lận đó!
Không sao, trong excel không có hàm tách chuỗi cũng không sao. Chúng ta có thể tự viết hàm ExtractNumber để dùng. Excel có công cụ hỗ trợ chúng ta viết hàm theo ý mình. Đây là cách giải quyết cho bài toán trên.
Nào chúng ta bắt đầu cùng nhau giải quyết:
- Bước 1: mở Microsoft Excel lên
- Bước 2: nhấn Alt + F11 -> mở ra cửa sổ Microsoft Visual Basic -> Insert -> Module
- Bước 3: Bạn nhập đoạn code bên dưới vào cửa sổ Book1-Module1 (Code), hình minh hoại bên dưới:
Function ExtractNumber(rCell As Range) 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 ExtractNumber = CLng(lNum) End Function

Vậy là bạn đã có thể dùng hàm ExtractNumber để tách số ra khỏi chuỗi rồi đó.
- Bước 4: Quay lại Microsoft Excel, bạn dùng hàm ExtractNumber như hình bên dưới:


Thanks bạn rất nhiều
bài viết rất có ích..
Hì hì hì …! bạn đọc bài viết và nó có ích cho bạn là mình cũng vui.
bai viết rất hữu ích. cam ơn bạn nhờ bai viết minh đa giải quyết được vấn đề của mình
Welcome “tri thành”!
Thanks bạn nhé! Thật hữu ích! Tuyệt!
Chào bạn Hương đến với Góc Kinh Nghiệm!
Hey! GocKinhNghiem.Com
Đầu tiên mình xin cảm ơn về đoạn code trên. Nhưng khi test qua thì mình có 1 vài vấn đề như sau:
- Khi lượng number trong String vượt quá 2.xxx.xxx.xxx thì sẽ bị #VALUE!
- Code này chỉ sử dụng cho 1 workbook.
___
Vậy GocKinhNghiem.Com có thể giúp mình fix những lỗi trên được không!?
Ps: Mình là mem mới nha!
cám ơn bạn nhìu nha, bữa nay mới biết Excel liên quan tới Visual á. like it
chúc may mắn
thanks
Cảm ơn Thanh Thuy rất nhiều! mình đang rất cần dùng đến hàm này. Nhưng cho mình hỏi là khi tới Save mà báo lỗi thì xử lý như thế nào ??
“” The following futures cannot be saved in marcro – free wordbook: VB project
To save file with these futures, clik No…..”
TKS nhiu nhiu, bai viet giup minh giai quyet nhiu vde
Thanks.
Nhưng vẫn chưa giải quyết được vấn đề nếu như trong chuỗi có số thập phân.
Kính mong bạn giải quyết!
Cảm ơn bạn nhá!!! Bạn có thể để lại đ/c mail cho mình xin đc ko có mình có nhiều điều cần hỏi lắm
Cam on ban rat nhieu/