Chủ đề công tác năm 2020: "Tuổi trẻ Bình Dương Tự hào tiến bước dưới cờ Đảng" - Chào mừng kỷ niệm 90 năm Ngày thành lập Đảng Cộng Sản Việt Nam (03/02/1930 - 03/02/2020)

Phương pháp thay thế (Replace) là một trong những kỹ thuật vô cùng hữu ích trong lập trình VBA, đặc biệt khi chúng ta cần quản lý và xử lý dữ liệu từ các nguồn khác nhau đưa vào bảng tính. Với phương pháp này, bạn có thể dễ dàng thay đổi nội dung đã có sẵn trong bảng tính, hoặc thậm chí áp dụng cho nhiều bảng khác nhau một cách nhanh chóng.

Trong bài viết này, chúng ta sẽ cùng nhau khám phá chi tiết cách sử dụng phương pháp này trong VBA cũng như các ứng dụng thực tế của nó.

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

Thao tác thay thế (Replace) trong Excel dễ dàng thực hiện qua nút lệnh Find & Select / Replace hoặc phím tắt Ctrl + H. Khi mở cửa sổ Replace, giao diện sẽ hiện ra như sau:

Phương pháp thay thế (Replace) trong VBA: Hướng dẫn chi tiếtGiao diện Replace trong Excel

Để tiến hành thay thế tên “Long” thành “Tuấn”, bạn thực hiện như sau:

  • Find what: Long
  • Replace with: Tuấn
  • Nhấn nút Replace All

Sau khi thực hiện, chúng ta sẽ nhận được câu lệnh sau:

Trong câu lệnh đó, chúng ta cần chú ý đến những mục quan trọng sau:

  • Cells: Xác định vùng cần thực hiện việc Replace. Nếu không chỉ định rõ, Excel 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ẽ được sử dụng để thay thế (kết quả sau khi thay thế).

Lưu ý:

  • Không thể viết được tiếng Việt có dấu trong VBA (ví dụ như từ “Tuấn” bị lỗi) nên bạn 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

Phương pháp thay thế (Replace) trong VBA: Hướng dẫn chi tiếtVí dụ về tính năng Replace

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 nằm 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:

Sub RemoveContent()
    Dim rng As Range
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
    rng.Replace What:="(*)", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False
End Sub

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ự.

Câu lệnh VBA có thể được viết như sau:

Sub RemoveSubstring()
    Dim rng As Range
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
    rng.Replace What:="text_to_remove", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False
End Sub

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ớt một chuỗi ký tự (thay bằng ký tự rỗng).

Việc sử dụng chức năng thay thế có thể kết hợp 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

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *