Đôi khi bạn cần thực hiện tách ngày tháng năm từ một chuỗi văn bản không cố định trong Excel. Việc sử dụng các hàm như LEFT, RIGHT, MID… có lẽ sẽ hơi phức tạp. Vậy sử dụng VBA là cách sẽ giúp bạn tách được một cách dễ dàng hơn.
Bạn để ý, nếu ngày tháng năm được định dạng đầy đủ theo định dạng dd-MM-yyyy thì sẽ có độ dài chuỗi là 10. Nên nếu bạn tách được các phần tử của chuỗi ra từng phần tử riêng và kiểm tra độ dài của từng phần tử đó thì việc tách được ngày tháng năm sẽ khá đơn giản.
Để tách được chuỗi ra thành từng phần tử, bạn hãy sử dụng hàm SPLIT với cú pháp như sau:
= SPLIT(Expression As String, [dấu phân chia])
Trong đó:
Ví dụ: tách chuỗi sau thành các phần tử bằng dấu phân cách “ ” (khoảng trắng).
Hôm nay là ngày 20-01-2019
Thì bạn có thể sử dụng hàm:
Dim chuoi As String
Dim mang() As String
chuoi=”Hôm nay là ngày 20-01-2019″
mang=Split(chuoi, ” “)
Trong đó:
Như vậy, kết quả có được là:
Khi đã tách được chuỗi ra các phần tử đơn lẻ, tiếp theo bạn cần thực hiện là kiểm tra độ dài của từng phần tử đó.
Như đã đề cập ở phần đầu bài viết, nếu bạn sử dụng đầy đủ định dạng của ngày tháng năm thì phần tử đó sẽ có độ dài chuỗi là 10. Vậy bạn cần sử dụng thêm 1 vòng lặp FOR để quét kiểm tra độ dài tất cả phần tử của mảng là sẽ tìm ra được.
Dim i As Integer
Dim dodaimang As Long
dodaimang = UBound(mang) - LBound(mang)
For i = 0 To dodaimang Step 1
If Len(mang(i)) = 10 Then
MsgBox mang(i)
End If
Next i
Trong đó:
Excel Tips: Các công cụ phân tích dữ liệu thông dụng trong Excel
Khóa học Ứng dụng Excel trong xử lý dữ liệu
Khóa học Ứng dụng VBA trong Excel
Link nội dung: https://tree.edu.vn/excel-vba-tip-cach-tach-ngay-thang-nam-tu-chuoi-van-ban-a18239.html