Chuỗi thay thế VBA | Làm thế nào để thay thế văn bản trong chuỗi bằng VBA?

Chuỗi thay thế VBA trong Excel

Thay thế là cả chức năng Trang tính cũng như chức năng VBA. Hàm này giúp chúng ta thay thế từ cụ thể từ chuỗi bằng một chuỗi khác. Nó hoạt động tương tự như chức năng thay thế trong VBA.

Trong khi xử lý các giá trị dữ liệu văn bản hoặc chuỗi thử nghiệm, việc thay thế hoặc thay thế thứ gì đó bằng thứ khác là điều hiển nhiên, kết hợp hai dữ liệu ô thành một hoặc chia dữ liệu một ô thành nhiều thứ. Đây là tất cả những công việc phổ biến mà chúng tôi làm hàng ngày tại nơi làm việc của chúng tôi.

Vì vậy, làm thế nào chúng ta thay thế một từ trong chuỗi bằng một từ khác? Ví dụ: nếu chuỗi là “Ấn Độ là một quốc gia đang phát triển và Ấn Độ thuộc Quốc gia Châu Á”, từ chuỗi này, chúng ta cần thay thế từ “Ấn Độ” và đổi thành “Bharath”.

Điều này có thể thực hiện được bằng cách sử dụng chức năng Replace. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách thay thế chuỗi trong mã hóa VBA.

Thay thế chức năng

  • Biểu thức: Đây không là gì ngoài giá trị chuỗi ban đầu mà từ đó chúng tôi đang cố gắng thay thế thứ gì đó bằng thứ gì đó. Ví dụ bên dưới là chuỗi biểu thức - “Ấn Độ là một quốc gia đang phát triển và Ấn Độ thuộc Quốc gia Châu Á”
  • Tìm chuỗi: Chuỗi mà chúng tôi đang cố gắng thay thế là gì. Ví dụ, trong chuỗi Biểu thức, chúng tôi đang cố gắng thay thế từ “Ấn Độ”.
  • Replace String: Chuỗi thay thế mà chúng tôi thay thế Find String bằng là gì? Vì vậy, trong trường hợp này, chúng tôi đang cố gắng thay thế từ “Ấn Độ” bằng “Bharath”.
  • [Bắt đầu]: Đây là một tham số tùy chọn. Trong chuỗi trên (Biểu thức) chúng ta có hai từ “Ấn Độ” vì vậy từ vị trí nào của Chuỗi Tìm chúng ta cần bắt đầu quá trình thay thế. Ví dụ: nếu chúng ta nói 2, nó sẽ bắt đầu thay thế từ “India” từ vị trí thứ hai trở đi.
  • [Đếm]: Nếu Chuỗi Tìm xuất hiện nhiều lần trong Biểu thức thì chúng ta cần thay thế bao nhiêu từ.

Ví dụ: nếu từ “Ấn Độ” xuất hiện 5 lần và nếu bạn cung cấp số lượng là 3 thì nó sẽ chỉ thay thế 3 từ “Ấn Độ” đầu tiên.

Làm thế nào để thay thế văn bản trong chuỗi bằng VBA?

Bạn có thể tải mẫu VBA Replace String Excel này tại đây - VBA Replace String Template Excel

Ví dụ 1

Bây giờ chúng tôi sẽ cố gắng thay thế từ “India” bằng “Bharath” từ giá trị chuỗi bên dưới.

“Ấn Độ là một quốc gia đang phát triển và Ấn Độ là một quốc gia Châu Á”

Đầu tiên, hãy bắt đầu quy trình macro excel ngay bây giờ.

Mã:

 Sub Replace_Example () End Sub 

Xác định biến VBA là Chuỗi.

Mã:

 Sub Replace_Example () Dim NewString As String End Sub 

Trong biến này, chúng tôi sẽ hiển thị giá trị chuỗi mới sau khi thay thế từ “India” bằng “Bharath”. Đối với biến này, hãy mở hàm Replace.

Đối số đầu tiên của hàm này là “Biểu thức” tức là từ chuỗi mà chúng tôi đang cố gắng thay thế một từ, vì vậy hãy sao chép và dán chuỗi “Ấn Độ là một quốc gia đang phát triển và Ấn Độ thuộc Quốc gia Châu Á”.

Đối số tiếp theo là “Find String” tức là từ nào chúng ta cần thay thế, tức là “India”.

Đối số tiếp theo là "Replace String" tức là chuỗi nào chúng ta cần thay thế từ "India" tức là "Bharath".

Ok, bây giờ bỏ qua các đối số còn lại. Bây giờ hiển thị kết quả trong hộp thông báo.

Mã:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("Ấn Độ là một quốc gia đang phát triển và Ấn Độ là quốc gia Châu Á", "Ấn Độ", "Bharath") MsgBox NewString End Sub 

Hãy chạy mã bằng phím F5 hoặc theo cách thủ công và xem kết quả chuỗi mới.

Ok, hãy nhìn vào kết quả ở trên khi chúng ta có từ “Ấn Độ”, nó đã được thay thế bằng từ “Bharath”.

Ví dụ số 2

Bây giờ chúng ta sẽ xem cách sử dụng cùng một đoạn mã với các biến. Nhìn vào đoạn mã dưới đây.

Mã:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Ấn Độ là một quốc gia đang phát triển và Ấn Độ là một quốc gia Châu Á" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

Trong đoạn mã trên, tôi đã khai báo thêm ba biến.

 Làm mờ chuỗi của tôi dưới dạng chuỗi Làm mờ chuỗi tìm như chuỗi làm mờ Thay thế chuỗi dưới dạng chuỗi 

Đối với các biến này, tôi đã gán giá trị, thay vì cung cấp Chuỗi biểu thức, Chuỗi tìm và Chuỗi thay thế, chúng tôi sẽ chỉ cung cấp biến cho hàm Replace.

Đoạn mã này cũng cho kết quả tương tự nhưng điểm khác biệt duy nhất là chúng ta đã sử dụng các biến thay vì cung cấp trực tiếp các giá trị cho hàm.

Ví dụ # 3

Giả sử bạn chỉ muốn thay thế từ “India” từ vị trí thứ hai thì chúng ta cần sử dụng tham số hàm Replace [“Start”]. Nhìn vào đoạn mã dưới đây để biết thông tin của bạn.

Mã:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Ấn Độ là quốc gia đang phát triển và Ấn Độ là quốc gia Châu Á" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Chỉ có một điều bổ sung mà chúng tôi đã thêm từ mã trước đó là tham số “Bắt đầu” là 34. Bây giờ hãy chạy mã và xem kết quả.

Bây giờ chúng ta chỉ có thể thấy chuỗi sau ký tự thứ 34 của chuỗi với “India” thay thế bằng “Bharath”.

Ví dụ # 4

Ví dụ bây giờ, nếu chúng ta chỉ muốn thay thế lần xuất hiện đầu tiên của từ “India” thành “Bharath” thì chúng ta cần sử dụng tham số [“Count”] của hàm Replace.

Dưới đây là mã dành cho bạn.

Mã:

 Sub Replace_Example3 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Ấn Độ là quốc gia đang phát triển và Ấn Độ là quốc gia Châu Á" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Count: = 1) MsgBox NewString End Sub 

Chạy mã theo cách thủ công hoặc thông qua phím F5 và xem kết quả.

Như bạn có thể thấy ở trên, nó chỉ thay thế lần xuất hiện đầu tiên của từ “India” thành “Bharath” và trường hợp thứ hai vẫn giữ nguyên.

Những điều cần nhớ ở đây

  • Replace là một họ hàm chuỗi trong VBA.
  • Trong VBA, hàm thay thế sẽ thay thế tất cả các từ được cung cấp bằng chuỗi được thay thế nếu tham số đếm không được chỉ định.
  • Tham số bắt đầu sẽ xóa số ký tự được cung cấp và hiển thị kết quả còn lại.

$config[zx-auto] not found$config[zx-overlay] not found