Trích xuất dữ liệu số trong 1 chuỗi bằng VBA trong Excel

Tách Số Từ Chuỗi Ký Tự Bằng Hàm VBA Trong Excel

Đối với việc tách số từ một chuỗi ký tự ta có thể thực hiện nhiều cách khác nhau nhưng trong bài viết này mình sẽ hướng dẫn mọi người tách số từ chuỗi ký tự trong excel bằng hàm VBA hay tách số ra khỏi chữ trong Excel bằng hàm VBA một cách đơn giản nhất.

Tách số khỏi chuỗi thông thường

Với một kiểu dữ liệu trong file thực hành này 3 dữ liệu đầu tiên có một quy luật là số bắt đầu từ ký tự thứ 3 và ký tự sau số là 2 nên mình có thể sử dụng cách tách số đơn giản này.

tách số thông thường

Để thực hiện bạn chỉ cần sử dụng hàm MID với công thức =MID(kích vào ô chứa dữ liệu, vị trí bắt đầu của số, len(kích vào ô chứa dữ liệu) trừ 4 ). Hàm LEN sẽ trả về độ dài của chuỗi và mình trừ đi 4 ký tự là 2 ký tự đầu 2 ký tự cuối còn lấy số ở giữa.

VD: =MID(A2,3,LEN(A2)-4)

hàm mid

Tách số bằng hàm VBA

Ở trường hợp tiếp theo ta có số ký tự cuối khác nhau có thể là 5 hoặc có thể là 3 thì ta không thể dùng công thức này được và cách giải quyết đó là ta sẽ dùng hàm VBA.

Đầu tiên bạn mở cửa sổ Visual Basic lên bằng cách kích vào Developer chọn Visual Basic -> chọn Insert -> Module.

mở visual basic

Trong Module này bạn sử dụng code mình để bên dưới bạn có thể hiểu là hàm code này sẽ dò từ đầu đến cuối và gặp số thì nó sẽ lấy ra.

Code

Function Tach_so(chuoi As String) As String
Dim i As Integer
Dim kytu As String
kytu = “”
For i = 1 To Len(chuoi)
If IsNumeric(Mid(chuoi, i, 1)) Then
kytu = kytu & Mid(chuoi, i, 1)

End If
Next i
Tach_so = kytu
End Function

code tách số

Tiếp theo ra ngoài bạn chỉ cần kích vào ô bạn muốn hiển thị số được tách gõ =Tach_so(kích vào ô chứa số muốn tách) như vậy số đã được tách thành công.

VD: =Tach_so(A6)

tách số bằng hàm vba

Như vậy nếu sử dụng công thức này thì số có nằm bất cứ vị trí nào hoặc số và chữ xen kẽ với nhau vẫn được tách ra bình thường.

Liên hệ