Bình thường, chúng ra thường sử dụng chức năng Tìm kiếm và Thay thế để tìm nhiều ô giống nhau và thay thế chúng bằng một giá trị khi bạn muốn. Nhưng đôi khi, chúng ta cần áp dụng đồng thời nhiều thay thế như vậy thì làm như thế nào sao. Và với số lượng nhiều thì chúng ta không thể ngồi làm thủ công Ctrl + F để Tìm và thay thế như vậy được.
Như ví dụ dưới, nếu bạn có một danh sách địa chỉ khách hàng hay nhân viên, nhưng trước đây người nhập viết tắt tên quận, tên tỉnh, Thành phố hoặc tên địa chính đã thay đổi. Bây giờ muốn cập nhật lại cho đầy đủ thì chúng ta không nên ngồi Ctrl + F rồi tìm và sửa tên từng cái một. Đây là lúc chúng ta nên sử dụng VBA. Ở đây, chúng ta sẽ sử dụng VBA để tìm và thay thế các tên quận viết tắt và đã đổi tên trong cột Địa chỉ, tương ứng với tên đầy đủ hiện tại ở cột Tên quận mới.
VÍ DỤ:
Find and Replace Multiple Values VBA
Bước 1: Chọn tab Developer -> Visual Basic. Cửa sổ Visual Basic sẽ hiện lên. Bạn có thể sử dụng phím tắt Alt + F11.
Chọn chuột phải vào vùng trống ở side bên trái, chọn Insert -> Module
Bước 2: Cửa sổ Code hiện lên, gõ đoạn code dưới vào:
Sub Find_and_Replace()
Dim xrng As Range
Dim InRg As Range
Dim Reprng As Range
Title = "Find and Replace Values"
Set InRg = Application.Selection
Set InRg = Application.InputBox("Find Values: ", Title, InRg.Address, Type:=8)
Set Reprng = Application.InputBox("Replace with: ", Title, Type:=8)
Application.ScreenUpdating = False
For Each xrng In Reprng.Columns(1).Cells
InRg.Replace What:=xrng.Value, Replacement:=xrng.Offset(0, 1).Value
Next
Application.ScreenUpdating = True
End Sub
Nhấn Ctrl + S để lưu lại, sau đó đóng cửa sổ Visual Basic.
Bước 3: Để chạy VBA, chọn Macros trong tab Developer. Cửa sổ Macro sẽ hiện lên. Bạn cũng có thể dùng phím tắt Alt + F8.
Sau đó chọn tên code đã thiết kế ở trên và Run:
Sau khi chạy code, cửa số Find and Replace Values sẽ hiện lên.
Chọn các ô mà bạn muốn thực hiện thay đổi, sau đó chọn OK. Ở đây ta sẽ quét từ ô C4 -> C17
Sau khi click OK, cửa sổ khác xuất hiện. Chúng ta sẽ chọn các giá trị mà chúng ta cần thay thế tương ứng. Ở đây ta sẽ quét 2 cột từ ô E4 -> F16, sau đó chọn OK để thực hiện tìm kiếm và thay thế.
KẾT QUẢ TÌM KIẾM VÀ THAY ĐỔI NHIỀU GIÁ TRỊ EXCEL BẰNG VBA:
* Các bạn lưu lại code, khi nào cần thì copy lại là xong mà cũng không cần am hiểu nhiều về code VBA. Nếu hiểu vấn đề thì các bạn sẽ áp dụng được khá nhiều trong công việc.
Chúc các bạn thành công và ứng dụng được nhiều trong công việc./.