Ký tự đại diện VBA

Hướng dẫn này sẽ trình bày cách sử dụng các ký tự đại diện trong VBA.

Các ký tự đại diện được sử dụng trong tất cả các ngôn ngữ lập trình và ứng dụng cơ sở dữ liệu như SQL Server. Một ký tự đại diện có thể được định nghĩa là một ký hiệu được sử dụng để thay thế một hoặc nhiều ký tự trong một chuỗi văn bản. Ví dụ chuỗi văn bản này - “mo *” - sẽ tìm các từ mẹ, chuột, con nai, mẹ, v.v.; trong khi chuỗi văn bản này "mo?" sẽ chỉ tìm thấy từ mẹ làm ký tự đại diện? chỉ thay thế một ký tự.

Chúng tôi sử dụng các ký tự đại diện với Toán tử Like, đây là một giải pháp thay thế dễ dàng hơn cho VBA Regex.

Sử dụng ký tự đại diện Asterix (*) trong VBA

Ký tự đại diện Asterix thay thế một hoặc nhiều ký tự trong một chuỗi VBA.

Hãy xem phạm vi ô sau đây trong Excel:

Bằng cách sử dụng ký tự đại diện Asterix trong mã VBA của chúng tôi, chúng tôi có thể tìm thấy tất cả các Tên bắt đầu bằng “M” và thay đổi màu của văn bản thành màu đỏ.

12345678 Sub CheckForM ()Dim x As IntegerĐối với x = 3 đến 8Nếu Phạm vi ("B" & x). Giá trị Như "M *" ThìPhạm vi ("B" & x) .Font.Color = vbRedKết thúc nếuTiếp theo xKết thúc Sub

Do đó, chúng tôi đã lặp lại phạm vi và tìm thấy tất cả các tên đầu tiên bắt đầu bằng chữ M như chuỗi ký tự đại diện của chúng tôi là “NS*

Kết quả của việc chạy mã trên được hiển thị bên dưới.

Nếu chúng ta sử dụng chuỗi ký tự đại diện “Ma *” - thì chỉ những tên đầu tiên trong B3 và B4 sẽ thay đổi.

Sử dụng ký tự đại diện Dấu hỏi (?) Trong VBA

Dấu chấm hỏi sẽ thay thế một ký tự trong một chuỗi VBA.

Hãy xem xét các dữ liệu sau:

Chúng ta có thể sử dụng chuỗi ký tự đại diện “? Im” để tìm bất kỳ tên nào kết thúc bằng “im”

12345678 Sub CheckForIM ()Dim x As IntegerĐối với x = 3 đến 8Nếu Phạm vi ("B" & x). Giá trị Giống như "? Im" thìPhạm vi ("B" & x) .Font.Color = vbRedKết thúc nếuTiếp theo xKết thúc Sub

Kết quả của việc chạy mã này được hiển thị bên dưới:

Sử dụng [danh sách ký tự] làm Ký tự đại diện

Ví dụ trên có thể được sửa đổi một chút để cho phép chúng tôi sử dụng dấu chấm hỏi, ngoài danh sách ký tự các ký tự được phép. Do đó, chuỗi ký tự đại diện có thể được sửa đổi thành “? [E-i] m” trong đó ký tự đầu tiên có thể là bất kỳ thứ gì, ký tự thứ hai phải là ký tự giữa e và i và ký tự cuối cùng phải là ký tự “m”. Chỉ cho phép 3 ký tự.

12345678 Sub CharListTest ()Dim x As IntegerĐối với x = 3 đến 8Nếu Phạm vi ("B" & x). Giá trị Thích "? [E-i] m" ThìPhạm vi ("B" & x) .Font.Color = vbRedKết thúc nếuTiếp theo xKết thúc Sub

Kết quả của mã này sẽ là:

Lập trình VBA | Code Generator làm việc cho bạn!

Sử dụng ký tự đại diện băm (#) trong VBA

Ký tự đại diện băm (#) thay thế một chữ số duy nhất trong chuỗi VBA. Chúng ta có thể so khớp từ 0 đến 9.

12345678910 Sub CheckForNumber ()Dim x As Integer, y As IntegerĐối với x = 3 đến 8Đối với y = 2 đến 5Nếu ActiveSheet.Cells (x, y) Giống như "##" thìActiveSheet.Cells (x, y) .Font.Color = vbRedKết thúc nếuTiếp theo yTiếp theo xKết thúc Sub

Đoạn mã trên sẽ lặp qua tất cả các ô trong Phạm vi (“B3: E8”) và sẽ thay đổi màu của văn bản trong ô thành ĐỎ nếu tìm thấy một số có hai chữ số trong ô đó.

Trong ví dụ dưới đây, mã sẽ chỉ thay đổi số nếu số cuối cùng là số 9.

12345678910 Sub CheckFor9 ()Dim x As Integer, y As IntegerĐối với x = 3 đến 8Đối với y = 2 đến 5Nếu ActiveSheet.Cells (x, y) Giống như "# 9" thìActiveSheet.Cells (x, y) .Font.Color = vbRedKết thúc nếuTiếp theo yTiếp theo xKế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