Perbandingan Rentetan VBA - Bagaimana Membandingkan Nilai Dua Rentetan?

Perbandingan Rentetan VBA Excel

Untuk membandingkan dua rentetan dalam VBA, kita mempunyai fungsi terbina dalam iaitu " StrComp ". Ini kita dapat membacanya sebagai " String Comparison ", fungsi ini hanya tersedia dengan VBA dan tidak tersedia sebagai fungsi lembaran kerja. Ini membandingkan dua rentetan dan mengembalikan hasilnya sebagai "Zero (0)" jika kedua string sesuai dan jika kedua string yang diberikan tidak sesuai maka kita akan mendapatkan "One (1)" sebagai hasilnya.

Dalam VBA atau cemerlang, kita menghadapi banyak senario yang berbeza. Salah satu senario tersebut adalah "membandingkan dua nilai rentetan." Dalam lembaran kerja biasa, kita boleh melakukan pelbagai cara ini, tetapi di VBA, bagaimana anda melakukannya?

Berikut adalah sintaks fungsi "StrComp".

Pertama, dua hujah cukup mudah,

  • untuk String 1, kita perlu memberikan nilai pertama yang kita bandingkan dan
  • untuk String 2, kita perlu memberikan nilai kedua yang kita bandingkan.
  • (Bandingkan) ini adalah argumen pilihan fungsi StrComp. Ini berguna apabila kita mahu membandingkan perbandingan peka huruf besar-kecil. Contohnya, dalam argumen ini, "Excel" tidak sama dengan "EXCEL" kerana kedua-dua kata ini peka huruf besar kecil.

Kami dapat memberikan tiga nilai di sini.

  • Nol (0) untuk " Bandingkan Binary " , iaitu "Excel", tidak sama dengan "EXCEL." Untuk perbandingan peka kes, kami dapat membekalkan 0.
  • Satu (1) untuk " Bandingkan Teks " , iaitu "Excel," sama dengan "EXCEL." Ini adalah perbandingan sensitif tanpa huruf.
  • Dua (2) ini hanya untuk perbandingan pangkalan data.

Hasil fungsi "StrComp" tidak lalai BETUL atau SALAH tetapi berbeza. Berikut adalah hasil yang berbeza dari fungsi "StrComp".

  • Kami akan mendapat "0" sebagai hasilnya jika rentetan yang disediakan sesuai.
  • Kami akan mendapat "1" jika string yang disediakan tidak sepadan, dan dalam kes pencocokan berangka, kami akan mendapat 1 jika String 1 lebih besar daripada string 2.
  • Kami akan mendapat “-1” jika nombor rentetan 1 kurang daripada nombor rentetan 2.

Bagaimana Melakukan Perbandingan String di VBA?

Contoh # 1

Kami akan memadankan " Bangalore " dengan rentetan " BANGALORE ."

Pertama, nyatakan dua pemboleh ubah VBA sebagai rentetan untuk menyimpan dua nilai rentetan.

Kod:

Sub String_Perbandingan_Contoh1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String End Sub

Untuk dua pemboleh ubah ini, simpan dua nilai rentetan.

Kod:

Sub String_Perbandingan_Contoh1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" End Sub

Sekarang nyatakan satu lagi pemboleh ubah untuk menyimpan hasil fungsi " StrComp ".

Kod:

Sub String_Comparison_Contoh1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String End Sub

Untuk pemboleh ubah ini, buka fungsi "StrComp".

Kod:

Sub String_Comparison_Example1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (End Sub

Untuk "String1" & "String2" kami telah menetapkan nilai melalui pemboleh ubah, jadi masukkan nama pembolehubah, masing-masing.

Kod:

Sub String_Comparison_Example1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (Value1, Value2, End Sub

Bahagian terakhir fungsi adalah "Bandingkan" untuk pilihan ini "vbTextCompare."

Kod:

Sub String_Comparison_Example1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbTextCompare) End Sub

Sekarang tunjukkan pemboleh ubah "Hasil Akhir" di kotak mesej di VBA.

Kod:

Sub String_Comparison_Example1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbTextCompare) MsgBox FinalResult End Sub

Ok, mari jalankan kod dan lihat hasilnya.

Pengeluaran:

Oleh kerana kedua-dua string "Bangalore" dan "BANGALORE" adalah sama, kami mendapat hasilnya sebagai 0, iaitu, sesuai. Kedua-dua nilai itu peka huruf besar kecil kerana kami telah memberikan argumen sebagai "vbTextCompare" ia telah mengabaikan padanan huruf peka huruf besar dan hanya memadankan nilai, jadi kedua-dua nilainya sama, dan hasilnya adalah 0, iaitu, BENAR.

Kod:

Sub String_Comparison_Example1 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbTextCompare) MsgBox FinalResult End Sub

Contoh # 2

Untuk kod yang sama, kita akan mengubah kaedah membandingkan dari "vbTextCompare" menjadi "vbBinaryCompare."

Kod:

Sub String_Comparison_Example2 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Sekarang jalankan kod dan lihat hasilnya.

Pengeluaran:

Walaupun kedua-dua rentetan itu sama, kami mendapat hasilnya sebagai 1, yaitu, Tidak Sesuai kerana kami telah menerapkan metode perbandingan sebagai "vbBinaryCompare," yang membandingkan dua nilai sebagai peka huruf besar kecil.

Contoh # 3

Sekarang kita akan melihat bagaimana membandingkan nilai berangka. Untuk kod yang sama, kami akan memberikan nilai yang berbeza.

Kod:

Sub String_Comparison_Contoh3 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = 500 Value2 = 500 Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Kedua-dua nilai adalah 500, dan kami akan mendapat 0 hasilnya kerana kedua-dua nilai itu sepadan.

Pengeluaran:

Sekarang saya akan menukar nombor Value1 dari 500 hingga 100.

Kod:

Sub String_Comparison_Contoh3 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = 1000 Value2 = 500 Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Jalankan kod dan lihat hasilnya.

Pengeluaran:

Kami tahu Value1 & Value2 tidak sama, tetapi hasilnya adalah -1 dan bukannya 1 kerana untuk perbandingan berangka ketika nilai String 1 lebih besar daripada String 2, kita akan mendapatkan ini -1.

Kod:

Sub String_Comparison_Contoh3 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = 1000 Value2 = 500 Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Sekarang saya akan membalikkan nilai.

Kod:

Sub String_Comparison_Contoh3 () Nilai Dim1 Sebagai String Dim Value2 Sebagai String Value1 = 500 Value2 = 1000 Dim FinalResult As String FinalResult = StrComp (Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Jalankan kod dan lihat hasilnya.

Pengeluaran:

Ini tidak istimewa. Sekiranya tidak sepadan, kami akan mendapat 1 sahaja.

Perkara yang Perlu Diingat di sini

  • (Bandingkan) argumen "StrComp" adalah pilihan, tetapi dalam kes sepadan dengan kes, kami dapat memanfaatkannya, dan pilihannya adalah "vbBinaryCompare."
  • Hasil nilai berangka sedikit berbeza sekiranya String 1 lebih besar daripada rentetan 2, dan hasilnya akan menjadi -1.
  • Hasilnya adalah 0 jika dipadankan dan 1 jika tidak sepadan.

Artikel yang Disyorkan

Ini telah menjadi panduan untuk perbandingan rentetan VBA. Di sini kita membincangkan bagaimana membandingkan dua nilai rentetan menggunakan fungsi StrComp dalam excel VBA berserta contoh dan memuat turun templat excel. Anda juga boleh melihat artikel lain yang berkaitan dengan Excel VBA -

  • Panduan Fungsi String VBA
  • Rentetan daripada VBA menjadi Array
  • Kaedah SubString VBA
  • Teks VBA

Artikel menarik...