Pengendali Suka VBA (Contoh Mudah) - Bagaimana Menggunakan "Suka" di Excel VBA?

Isi kandungan

Pengendali Seperti VBA

Seperti pengendali di VBA dan ini adalah operator perbandingan yang membandingkan rentetan yang diberikan sebagai argumen dalam satu set rentetan dan ia sesuai dengan corak, jika corak dipadankan maka hasil yang diperoleh adalah benar dan jika corak tidak sesuai maka hasil yang diperoleh adalah salah, ini adalah pengendali dalam VBA.

Pengendali "LIKE" adalah pengendali yang paling tidak digunakan walaupun penggunaannya luar biasa. Saya tidak melihat banyak orang yang menggunakan pengendali ini sepenuhnya dalam pengekodan mereka. Sebenarnya, saya adalah antara mereka yang tidak kerap menggunakan operator ini. Pengendali "VBA LIKE" membolehkan kami memadankan corak tali dengan rentetan penuh. Dengan menggunakan pengendali VBA LIKE, kita dapat membandingkan dua rentetan dengan patter yang diberikan. Kami dapat memeriksa sama ada rentetan itu mengandungi substring dalam VBA, atau kami juga dapat mengetahui apakah rentetan itu mengandungi format tertentu. Sekiranya corak sesuai dengan rentetan, maka pengendali VBA LIKE akan mengembalikan BENAR atau yang SALAH.

Semasa mencocokkan rentetan, kita perlu menggunakan watak wildcard untuk patter yang kita tentukan. Berikut adalah wildcard yang kami gunakan dalam pengendali VBA LIKE.

  • Tanda Soalan (?): Ini digunakan untuk mencocokkan salah satu watak dari rentetan. Sebagai contoh, jika kita mempunyai rentetan "CAT", dan coraknya adalah "C? T", maka operator VBA LIKE akan mengembalikan TRUE. Sekiranya rentetan adalah "CATCH dan coraknya adalah" C? T, "maka pengendali VBA LIKE akan mengembalikan SALAH.
  • Asterisk (*): Ini sepadan dengan sifar atau lebih aksara. Contohnya, jika rentetan "Baik", dan coraknya "G ** d", pengendali VBA LIKE mengembalikan BENAR.
  • Tanda kurung (()): Ini sesuai dengan satu aksara tunggal yang ditentukan dalam kurungan.
  • (Char-Char): Ini sesuai dengan mana-mana watak dalam julat Char-Char.
  • (! Chars): Ini sesuai dengan mana-mana watak yang tidak ada dalam senarai.
  • (! Char-Char): Ini sesuai dengan mana-mana watak yang tidak berada dalam julat Char-Char.

Contoh Pengendali SEPERTI VBA

Mari lihat beberapa contoh pengendali VBA LIKE sekarang.

Contoh # 1 - Dengan Tanda Tanya

Kod:

Sub SoalanMark_Contoh1 () Dim k As String k = "Bagus" Jika k Suka "Pergi? D" Kemudian MsgBox "Ya" Lain MsgBox "Tidak" Tamat Jika Tamat Sub

Dalam kod di atas, kami telah memberikan rentetan sebagai "Bagus," dan coraknya adalah "Go? D." Oleh kerana tanda tanya dapat mencocokkan satu karakter, ia akan menunjukkan hasilnya sebagai "Ya."

Sekarang saya akan menukar rentetan menjadi "Selamat Pagi."

Kod:

Sub QuestionMark_Contoh1 () Dim k As String k = "Good Morning" If k Like "Go? D" Kemudian MsgBox "Yes" Else MsgBox "No" End if End Sub

Dalam kes ini, ia akan menunjukkan "Tidak" kerana kami telah menambahkan satu lagi kata pada rentetan, iaitu, Pagi. Untuk mencocokkan sebilangan watak, kita perlu menggunakan tanda bintang.

Contoh # 2 - Dengan Asterisk

Kod:

Sub SoalanMark_Contoh2 () Dim k Sebagai Rentetan k = "Selamat Pagi" Jika k Suka "* Baik *" Kemudian MsgBox "Ya" Lain-lain MsgBox "Tidak" Tamat Jika Akhir Sub

Dalam contoh di atas, saya telah menambahkan dua tanda bintang sebelum dan selepas watak "* Baik *." Ini akan sesuai dengan kata "Baik" dalam rentetan "Selamat Pagi" dan mengembalikan "Ya."

Contoh # 3 - Dengan Kurungan ()

Kod:

Sub SoalanMark_Contoh3 () Dim k Sebagai Rentetan k = "Selamat Pagi" Jika k Suka "* (M) *" Kemudian MsgBox "Ya" Lain-lain MsgBox "Tidak" Tamat Jika Akhir Sub

Kod di atas sepadan dengan huruf tunggal yang disebut dalam tanda kurung "M" dan mengembalikan hasilnya sebagai Ya.

Contoh # 4 - Dengan Kurungan & Huruf (AZ)

Kod:

Sub SoalanMark_Contoh4 () Dim k Sebagai Rentetan k = "Selamat Pagi" Jika k Suka "* (AD) *" Kemudian MsgBox "Ya" Lain-lain MsgBox "Tidak" Tamat Jika Akhir Sub

Dalam perkara di atas, saya telah menyebut watak-watak untuk dipadankan dari A hingga D.

Ini akan mengembalikan "Tidak" kerana tidak ada watak dari A hingga D dalam rentetan "Selamat Pagi."

Sekarang saya akan menukar corak menjadi (AH)

Kod:

Sub SoalanMark_Contoh4 () Dim k Sebagai Rentetan k = "Selamat Pagi" Jika k Suka "* (AH) *" Kemudian MsgBox "Ya" Lain-lain MsgBox "Tidak" Tamat Jika Akhir Sub

Ini akan mengembalikan "Ya" kerana dari A hingga H, kita memiliki karakter "G" dalam string "Selamat Pagi."

Seperti ini, kita dapat menggunakan operator "LIKE" VBA untuk memadankan rentetan dari corak dengan watak wild card.

Artikel menarik...