Hàm thay thế VBA - Chuỗi thay thế

Hướng dẫn này sẽ trình bày cách sử dụng hàm Replace VBA để thay thế các chuỗi văn bản.

Thay thế chức năng

Hàm Thay thế VBA trả về một chuỗi, với các thay thế được thực hiện. Với việc sử dụng các tham số tùy chọn, chuỗi mới có thể bắt đầu ở vị trí được chỉ định bởi bắt đầu và kết thúc ở cuối chuỗi ban đầu.

VBA Replace Replace a Substring

Chức năng Thay thế VBA có thể được sử dụng để thay thế bất kỳ chuỗi con nào được tìm thấy, trong mọi phần được tìm thấy.

12345678910111213141516 Sub ReplaceExample_1 ()MsgBox Replace ("ABCABCABC", "A", "!")'Kết quả là: "! BC! BC! BC"MsgBox Replace ("Tôi thích màu hồng, đỏ và đen", "hồng", "tím")'Kết quả là: "Tôi thích màu tím, đỏ và đen"MsgBox Replace ("A, B, C, A, B, C, A, B, C", ",", ",")'Kết quả là: "ABCABCABC"MsgBox Replace ("ABCABCABC", "ABC", "!")'Kết quả là: "!!!"MsgBox Replace ("ABCABCABC", "ABc", "!")'Kết quả là: "ABCABCABC"MsgBox Replace ("ABCABCABC", "ZBC", "!")'Kết quả là: "ABCABCABC"Kết thúc Sub

VBA Thay thế vị trí bắt đầu

Chức năng Thay thế VBA có thể được sử dụng để thay thế bất kỳ chuỗi con nào được tìm thấy, trong mọi phần được tìm thấy. Nếu chúng ta chỉ định một vị trí bắt đầu thì kết quả sẽ là một phần của chuỗi ban đầu sau điểm bắt đầu đó.

12345678910111213 Sub ReplaceExample_2 ()MsgBox Replace ("ABCABCABC", "A", "123") 'Kết quả là: "123BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 2) 'Kết quả là: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'Kết quả là: "123BC"MsgBox Replace ("ABCABCABC", "A", "123", 8) 'Kết quả là: "BC"MsgBox Replace ("ABCABCABC", "ABC", "! @") 'Kết quả là: "! @! @! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 2) 'Kết quả là: "BC! @! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 6) 'Kết quả là: "C! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 7) 'Kết quả là: "! @"MsgBox Replace ("ABCABCABC", "ABC", "! @", 8) 'Kết quả là: "BC"Kết thúc Sub

VBA Chỉ thay thế một vài lần xuất hiện

Hàm VBA Replace có thể được sử dụng để thay thế bất kỳ chuỗi con nào được tìm thấy, trong mọi phần được tìm thấy. Chúng tôi có thể tùy ý quyết định số lần xuất hiện nên được thay thế.

123456789101112 Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") 'Kết quả là: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Kết quả là: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Kết quả là: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Kết quả là: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'Kết quả là: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", 3, 1)'Kết quả là: "C12BCABC"'Chúng tôi đã thay thế A bằng 12, 1 lần bắt đầu từ vị trí 3 của chuỗi ban đầu.Kết thúc Sub

Độ nhạy của VBA Replace Case

Hàm Thay thế VBA theo mặc định có phân biệt chữ hoa chữ thường. Bạn có thể thay đổi hành vi đó thành phân biệt chữ hoa chữ thường bằng cách sử dụng một tham số tùy chọn (vbTextCompare). Trong trường hợp đó, bạn cũng phải xác định vị trí bắt đầu của tìm kiếm.

12345678910111213 Sub ReplaceExample_4 ()MsgBox Replace ("ABcABCABc", "ABc", "12")'Kết quả là: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)'Kết quả là: "121212"'Khi chúng tôi sử dụng vbTextCompare, chúng tôi cần thêm 2 đối số tùy chọn khác:'bắt đầu và đếmMsgBox Replace ("ABcABCABcABc", "ABc", "12", 3, 1)'Kết quả là: "cABC12ABc"'Bắt đầu từ vị trí 3 và chỉ thay thế ABC 1 lần.Kết thúc Sub

Bạn cũng có thể thực hiện Thay thế không phân biệt chữ hoa chữ thường, bằng cách thêm Văn bản So sánh Tùy chọn vào đầu mô-đun của mình:

1 Tùy chọn So sánh Văn bản

VBA Thay thế Dấu ngoặc kép

Hàm Replace của VBA có thể thay thế ký tự dấu ngoặc kép được sử dụng để phân tách phần đầu và phần cuối của một chuỗi.

Hàm VBA Chr có thể trả về một ký tự từ số của nó trong bộ ký tự.

1 MsgBox Chr (34) 'Kết quả là: "

Hoặc

1 MsgBox Chr (64) 'Kết quả là: @

Dấu ngoặc kép có thể được sử dụng bên trong hàm Thay thế VBA bằng cách sử dụng “” ”” hoặc hàm VBA Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx As chuỗiStrEx = "AB" "AB" ""MsgBox StrEx 'Kết quả là: AB "AB"MsgBox Replace (StrEx, Chr (34), "12")'Kết quả là: AB12AB12MsgBox Replace (StrEx, "" "", "DQ")'Kết quả là: "ABDQABDQ"Kết thúc Sub

VBA Thay thế dòng ngắt trong ô

Chức năng Thay thế VBA có thể tìm ký tự đặc biệt của dòng ngắt trong một ô và loại bỏ nó hoặc thay thế nó bằng một ký tự khoảng trắng. Ký tự đặc biệt của dòng ngắt có thể được nhập vào một ô bằng cách sử dụng phím tắt Alt + Enter và có thể được sử dụng trong mã VBA với số bộ ký tự của nó bằng cách sử dụng hàm VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Xác định một biến chuỗi'Đọc giá trị của ô A2 trong trang tính Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Phạm vi ("A2"). Giá trị'Ký tự dòng ngắt được nhập bằng Alt + Enter là Chr (10) và ẩn.'Dòng mã này thay thế ký tự đó bằng khoảng trắngStrEx = Thay thế (StrEx, Chr (10), "")'Viết giá trị được thay thế vào ô B2 trong trang tính Sheet1ThisWorkbook.Worksheets ("Sheet1"). Phạm vi ("B2"). Giá trị = StrExKết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave