Chào các bạn trong diễn đàn Sheet & Excel,
Dạo này mình làm với một file excel có dữ liệu khá lộn xộn, mỗi lần nhận về là y như rằng phải ngồi tút tát lại từ đầu đến cuối. Nào là khoảng trắng thừa, ký tự lạ, định dạng lung tung... làm thủ công riết cũng nản.
Mình có tìm hiểu qua Power Query nhưng với yêu cầu làm sạch nhiều loại lỗi khác nhau và áp dụng cho nhiều file cùng lúc thì thấy hơi mất thời gian thiết lập.
Vậy nên, mình đã thử viết một đoạn code VBA nhỏ để tự động hóa việc này. Cơ bản là mình gom các thao tác hay làm nhất vào một macro, ví dụ:
- Xóa khoảng trắng thừa ở đầu và cuối chuỗi: Dùng hàm
TRIM() - Chuyển đổi chữ thường/chữ hoa: Dùng
LOWER()hoặcUPPER() - Loại bỏ ký tự không mong muốn: Dùng
Replace() - Chuẩn hóa định dạng ngày tháng: Dùng
Format()
Ví dụ, để xóa khoảng trắng thừa cho một cột A, mình dùng đoạn code:
Sub XoaKhoangTrangDuThua()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim rng As Range
Dim cell As Range
On Error Resume Next
Set rng = ws.UsedRange.Columns("A") ' Áp dụng cho cột A
For Each cell In rng
If Not IsEmpty(cell.Value) Then
cell.Value = Application.WorksheetFunction.Trim(cell.Value)
End If
Next cell
On Error GoTo 0
MsgBox "Đã xóa khoảng trắng thừa!", vbInformation
End SubSau khi có macro này, mỗi lần nhận file mới, mình chỉ cần chạy nó là xong phần việc cơ bản. Tiết kiệm được khối thời gian và đỡ mệt mỏi hơn hẳn.
Các bạn có cao kiến gì hay hoặc có cách nào khác để xử lý dữ liệu 'bẩn' hiệu quả hơn không? Chia sẻ cho mình và mọi người cùng học hỏi nhé!