Perbandingan String VBA - Bagaimana Membandingkan Dua Nilai String?

Perbandingan String VBA Excel

Untuk membandingkan dua string di VBA kami memiliki fungsi built-in yaitu " StrComp ". Ini kita bisa membacanya sebagai " Perbandingan String ", fungsi ini hanya tersedia dengan VBA dan tidak tersedia sebagai fungsi lembar kerja. Ini membandingkan dua string dan mengembalikan hasil sebagai "Nol (0)" jika kedua string cocok dan jika kedua string yang disediakan tidak cocok maka kita akan mendapatkan "Satu (1)" sebagai hasilnya.

Di VBA atau excel, kami menghadapi banyak skenario berbeda. Salah satu skenario tersebut adalah "membandingkan dua nilai string". Di lembar kerja biasa, kita dapat melakukan beberapa cara ini, tetapi di VBA, bagaimana Anda melakukan ini?

Di bawah ini adalah sintaks dari fungsi "StrComp".

Pertama, dua argumen cukup sederhana,

  • 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 opsional fungsi StrComp. Ini berguna saat kami ingin membandingkan perbandingan peka huruf besar kecil. Misalnya, dalam argumen ini, "Excel" tidak sama dengan "EXCEL" karena kedua kata ini peka huruf besar / kecil.

Kami dapat menyediakan tiga nilai di sini.

  • Nol (0) untuk " Perbandingan Biner " , yaitu "Excel", tidak sama dengan "EXCEL". Untuk perbandingan peka huruf besar / kecil, kami dapat menyediakan 0.
  • Satu (1) untuk " Perbandingan Teks ", yaitu "Excel", sama dengan "EXCEL". Ini adalah perbandingan non-case sensitive.
  • Dua (2) ini hanya untuk perbandingan database.

Hasil dari fungsi "StrComp" tidak default TRUE atau FALSE tetapi bervariasi. Di bawah ini adalah hasil yang berbeda dari fungsi "StrComp".

  • Kami akan mendapatkan "0" sebagai hasilnya jika string yang disediakan cocok.
  • Kita akan mendapatkan “1” jika string yang diberikan tidak cocok, dan dalam kasus pencocokan numerik, kita akan mendapatkan 1 jika String 1 lebih besar dari string 2.
  • Kita akan mendapatkan "-1" jika nomor string 1 lebih kecil dari nomor string 2.

Bagaimana Cara Melakukan Perbandingan String di VBA?

Contoh 1

Kami akan mencocokkan " Bangalore " dengan string " BANGALORE ".

Pertama, nyatakan dua variabel VBA sebagai string untuk menyimpan dua nilai string.

Kode:

Sub String_Example1 () Dim Value1 As String Dim Value2 As String End Sub

Untuk dua variabel ini, simpan dua nilai string.

Kode:

Sub String_perbandingan_Contoh1 () Nilai Dimit1 Sebagai Nilai Dim String2 Sebagai Nilai String1 = "Bangalore" Nilai2 = "BANGALORE" End Sub

Sekarang deklarasikan satu variabel lagi untuk menyimpan hasil dari fungsi " StrComp ".

Kode:

Sub String_Comparison_Example1 () Dim Value1 As String Dim Value2 As String Value1 = "Bangalore" Value2 = "BANGALORE" Dim FinalResult As String End Sub

Untuk variabel ini, buka fungsi "StrComp".

Kode:

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

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

Kode:

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

Bagian terakhir dari fungsi ini adalah "Bandingkan" untuk pilihan "vbTextCompare" ini.

Kode:

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

Sekarang tunjukkan variabel "Hasil Akhir" di kotak pesan di VBA.

Kode:

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

Ok, mari kita jalankan kodenya dan lihat hasilnya.

Keluaran:

Karena string "Bangalore" dan "BANGALORE" sama, kami mendapatkan hasil sebagai 0, yaitu cocok. Kedua nilai peka huruf besar / kecil karena kami telah memberikan argumen sebagai "vbTextCompare" itu telah mengabaikan kecocokan peka huruf besar / kecil dan hanya mencocokkan nilai, jadi kedua nilainya sama, dan hasilnya 0, yaitu TRUE.

Kode:

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

Contoh # 2

For the same code, we will change the compare method from “vbTextCompare” to “vbBinaryCompare.”

Code:

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

Now run the code and see the result.

Output:

Even though both the strings are the same, we got the result as 1, i.e., Not Matching because we have applied the compare method as “vbBinaryCompare,” which compares two values as case sensitive.

Example #3

Now we will see how to compare numerical values. For the same code, we will assign different values.

Code:

Sub String_Comparison_Example3() Dim Value1 As String Dim Value2 As String Value1 = 500 Value2 = 500 Dim FinalResult As String FinalResult = StrComp(Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Both the values are 500, and we will get 0 as a result because both the values are matched.

Output:

Now I will change the Value1 number from 500 to 100.

Code:

Sub String_Comparison_Example3() Dim Value1 As String Dim Value2 As String Value1 = 1000 Value2 = 500 Dim FinalResult As String FinalResult = StrComp(Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Run the code and see the result.

Output:

We know Value1 & Value2 aren’t the same, but the result is -1 instead of 1 because for numerical comparison when the String 1 value is greater than String 2, we will get this -1.

Code:

Sub String_Comparison_Example3() Dim Value1 As String Dim Value2 As String Value1 = 1000 Value2 = 500 Dim FinalResult As String FinalResult = StrComp(Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Now I will reverse the values.

Code:

Sub String_Comparison_Example3() Dim Value1 As String Dim Value2 As String Value1 = 500 Value2 = 1000 Dim FinalResult As String FinalResult = StrComp(Value1, Value2, vbBinaryCompare) MsgBox FinalResult End Sub

Run the code and see the result.

Output:

This is not special. If not match, we will get 1 only.

Things to Remember here

  • (Compare) argument of “StrComp” is optional, but in case of case sensitive match, we can utilize this, and the option is “vbBinaryCompare.”
  • The result of numerical values is slightly different in case String 1 is greater than string 2, and the result will be -1.
  • Results are 0 if matched and 1 if not matched.

Recommended Articles

Ini telah menjadi panduan untuk perbandingan string VBA. Di sini kita membahas cara membandingkan dua nilai string menggunakan fungsi StrComp di excel VBA beserta contoh dan mengunduh template excel. Anda mungkin juga melihat artikel lain yang terkait dengan Excel VBA -

  • Panduan untuk Fungsi String VBA
  • VBA Membagi String menjadi Array
  • Metode SubString VBA
  • Teks VBA

Artikel yang menarik...