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, nối 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 Thay thế. 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ừ, "India", 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ì từ đó 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?

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ị một 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à, bằng chuỗi nào chúng ta cần thay thế từ "India", tức là "Bharath".

Ok, hiện tại, 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à 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, nhìn vào kết quả trên. Bất cứ nơi nào chúng tôi 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à 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 như 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 đã chỉ định các 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 giá trị cho hàm.

Ví dụ # 3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Replace là một họ hàm chuỗi trong VBA.
  • Trong VBA, hàm thay thế thay thế tất cả các từ được cung cấp bằng chuỗi 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.

thú vị bài viết...