25/05/2018, 23:32

Hướng dẫn sử dụng phương thức Replace trong VBA

Phương thức thay thế (Replace) là một phương thức khá hữu ích trong VBA khi chúng ta muốn xử lý dữ liệu từ 1 nguồn khác đưa vào bảng tính, hoặc trường hợp khi chúng ta thay đổi 1 nội dung đã có sẵn mà có liên quan tới các bảng khác, sheet khác trong Excel. Sau đây chúng ta cùng tìm hiểu cách sử ...

Phương thức thay thế (Replace) là một phương thức khá hữu ích trong VBA khi chúng ta muốn xử lý dữ liệu từ 1 nguồn khác đưa vào bảng tính, hoặc trường hợp khi chúng ta thay đổi 1 nội dung đã có sẵn mà có liên quan tới các bảng khác, sheet khác trong Excel.

Sau đây chúng ta cùng tìm hiểu cách sử dụng phương thức này trong VBA:

1. Tìm hiểu thông qua việc Record Macro thao tác Replace

Thao tác thay thế (Replace) trong Excel được thực hiện với nút lệnh Find & Select / Replace hoặc phím tắt Ctrl + H

Mở cửa sổ Replace chúng ta sẽ thấy giao diện như sau:

Thử ghi lại câu lệnh Macro cho trường hợp thay thế tên “Long” thành “Tuấn” như sau:

  • Find what = Long
  • Replace with = Tuấn
  • Bấm chọn Replace All

Chúng ta thu được câu lệnh như sau:

View the code on Gist.

Trong câu lệnh trên chúng ta chú ý vào những mục sau:

  • Cells : là vùng mà chúng ta sẽ thực hiện việc Replace. Nếu không nói rõ vùng nào mà chỉ dùng Cells thì sẽ coi như toàn bộ các Cell trong Sheet đó
  • Replace What:= là đối tượng bị thay thế
  • Replacement:= là đối tượng sẽ dùng để thay thế (kết quả sau khi thay)

Lưu ý:

  • Không viết được tiếng việt có dấu trong VBA (ví dụ như từ Tuấn bị lỗi) => Do đó phải thực hiện gán biến gián tiếp
  • Nếu không có đối tượng Replace What (không có đối tượng bị thay thế) thì sẽ không có kết quả gì => Do đó cần có cảnh báo cho trường hợp không tìm thấy đối tượng cần thay thế.

2. Ứng dụng Replace trong một số trường hợp

Xóa một chuỗi từ một vị trí xác định

Trong ví dụ trên, chúng ta sẽ tìm hiểu câu lệnh thay thế trong VBA để xóa các nội dung trong dấu ngoặc và cả dấu ngoặc đơn (lưu ý là có thêm dấu cách trước dấu mở ngoặc đơn)

Câu lệnh VBA như sau:

View the code on Gist.

Xóa một chuỗi nằm trong một chuỗi lớn

Tương tự ví dụ trên, nhưng trong trường hợp này nội dung cần xóa nằm ở giữa đoạn chuỗi ký tự gốc

Câu lệnh VBA như sau:

View the code on Gist.

Kết luận

  • Chức năng thay thế có thể được ứng dụng cho nhiều mục đích khác nhau: Thay thế chuỗi ký tự này thành chuỗi ký tự khác, xóa bỏ 1 chuỗi ký tự (thay bằng ký tự rỗng)
  • Việc sử dụng chức năng thay thế có thể gắn kèm với lệnh Sắp xếp (sort) để có thể tự sắp xếp lại dữ liệu sau khi thay thế bằng dữ liệu mới.

Chúc các bạn học tốt  cùng Học Excel Online

Tải về file mẫu tại địa chỉ: http://bit.ly/2DDyEwr

0