VBA untuk Memeriksa Apakah String Berisi String Lain di Excel (6 Metode)

  • Bagikan Ini
Hugh West

Menerapkan VBA adalah metode paling efektif, tercepat, dan teraman untuk menjalankan operasi apa pun di Excel. Pada artikel ini, kami akan menunjukkan kepada Anda cara memeriksa apakah string berisi string lain di Excel menggunakan VBA .

Unduh Templat Praktik

Anda bisa mengunduh templat Excel latihan gratis dari sini.

VBA untuk Memeriksa Apakah String Berisi Nilai.xlsm

6 Metode dalam VBA untuk Memeriksa Apakah String Berisi String Lain di Excel

Di bawah ini pada bagian ini, Anda akan menemukan 6 metode efektif tentang cara menerapkan VBA untuk memeriksa apakah sebuah string mengandung string lain atau tidak.

1. VBA untuk Memeriksa Apakah String Berisi Substring

Di bawah ini adalah contoh fungsi InStr untuk menemukan apakah string berisi substring di Excel.

Langkah-langkah:

  • Tekan Alt + F11 pada keyboard Anda atau buka tab Pengembang -> Visual Basic untuk membuka Editor Visual Basic .

  • Di jendela kode pop-up, dari bilah menu, klik Sisipkan -> Modul .

  • Di jendela kode, salin kode berikut dan tempelkan.
 Public Sub ContainSub() If InStr("Film: Iron Man, Batman, Superman, Spiderman, Thor", "Hulk")> 0 Then MsgBox "Film ditemukan" Else MsgBox "Film tidak ditemukan" End If End Sub 

Kode Anda sekarang siap untuk dijalankan.

  • Lari makro.

Jika Anda string berisi substring maka Anda akan mendapatkan kecocokan yang ditemukan, jika tidak, itu akan mengembalikan tidak ada kecocokan yang ditemukan.

Dalam contoh kita, kita ingin mengetahui apakah string utama kita " Film: Iron Man, Batman, Superman, Spiderman, Thor " mengandung kata " Hulk " atau tidak. Karena tidak, kita mendapatkan Film tidak ditemukan hasil.

2. VBA untuk Memeriksa Apakah String Berisi Angka

Anda bisa mencari apakah string mengandung angka atau tidak dengan menggunakan VBA kode.

Lihatlah contoh berikut ini di mana kita akan menemukan string mana yang mengandung angka dengan nama film.

Langkah-langkah untuk memeriksa apakah string mengandung angka dengan VBA diberikan di bawah ini.

Langkah-langkah:

  • Cara yang sama seperti sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Fungsi CariBilangan(oRng Sebagai Range) Sebagai Boolean Dim bCariBilangan Sebagai Boolean, i Sebagai Long bCariBilangan = Salah Untuk i = 1 Untuk Len(oRng.Text) Jika IsNumeric(Mid(oRng.Text, i, 1)) Maka bCariBilangan = Benar Keluar Untuk End If Berikutnya CariBilangan = bCariBilangan End Function 
  • Ini bukan Sub Prosedur untuk VBA program untuk dijalankan, ini menciptakan sebuah Fungsi yang Ditentukan Pengguna (UDF), yang akan kita panggil di lembar kerja kita untuk menjalankan tugas. Jadi, setelah menulis kode, alih-alih mengklik tombol Lari tombol, klik pada tombol Simpan dari menu bar untuk menyimpan file makro.
  • Sekarang kembali ke lembar kerja yang diinginkan dan tuliskan fungsi yang ditentukan pengguna yang baru saja Anda buat di dalam VBA kode ( SearchNumber pada baris pertama kodenya) dan di dalam tanda kurung fungsi tersebut, masukkan nomor referensi cell dari cell string yang memiliki angka terdepan (mis. Sel B5 ).
  • Tekan Masuk .

Anda akan mendapatkan nilai boolean ( BENAR atau Salah ), jika string dalam sel berisi angka maka Anda akan mendapatkan BENAR , jika tidak SALAH .

  • Seret sel ke bawah dengan Isi Gagang untuk menerapkan rumus ke sel lainnya untuk memeriksa string mana yang berisi angka dan mana yang tidak.

3. VBA untuk Mengekstrak Angka dari String

Pada bagian di atas, kita mempelajari cara memeriksa apakah string berisi angka atau tidak. Dan di bagian ini, kita akan belajar cara mengekstrak angka-angka tersebut dan menempatkannya di sel lain dengan contoh yang diberikan di bawah ini.

Langkah-langkah untuk memeriksa apakah string mengandung angka dan mengekstraknya dengan VBA diberikan di bawah ini.

Langkah-langkah:

  • Terbuka Editor Visual Basic dari Pengembang tab dan Sisipkan a UserForm kali ini dari tab Insert di jendela kode.
  • Dari yang muncul Kotak Alat , seret dan lepas CommandButton di UserForm .

  • Klik dua kali pada tombol, salin kode berikut dan tempelkan.
 Private Sub CommandButton1_Click() Worksheets("Number").Range("C2:C15").ClearContents checkNumber (Worksheets("Number").Range("B2:B15"))) End Sub Sub checkNumber(objRange As Range) Dim myAccessary As Variant Dim i As Long Dim iRow As Long iRow = 2 For Each myAccessary In objRange For i = 1 To Len(myAccessary.Value) If IsNumeric(Mid(myAccessary.Value, i,1)) Then If Trim(objRange.Cells(objRange.Row - 1, 2)) "" Then objRange.Cells(iRow - 1, 2) = _ objRange.Cells(iRow - 1, 2) & Mid(myAccessary.Text, i, 1) Else objRange.Cells(iRow - 1, 2) = Mid(myAccessary.Text, i, 1) End If End If Next i iRow = iRow + 1Berikutnya myAccessary End Sub 
  • Lari kode dan itu akan membawa Anda ke lembar kerja yang diinginkan.
  • Klik Tombol Perintah dan Anda akan mendapatkan nomor yang diekstrak dari string.

4. VBA untuk Memeriksa Apakah String Berisi Huruf Tertentu

Metode ini hampir mirip dengan metode pengecekan substring dalam sebuah string.

Di bawah ini adalah InStr berfungsi untuk menemukan apakah string berisi huruf tertentu di Excel.

Langkah-langkah:

  • Cara yang sama seperti sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Public Sub ContainChar() If InStr("Film: Iron Man, Batman, Superman, Spiderman, Thor", "Z")> 0 Then MsgBox "Surat ditemukan" Else MsgBox "Surat tidak ditemukan" End If End Sub 

Kode Anda sekarang siap untuk dijalankan.

  • Lari program. Jika Anda string berisi huruf maka Anda akan mendapatkan kecocokan yang ditemukan, jika tidak, itu akan mengembalikan tidak ada kecocokan yang ditemukan.

Dalam contoh kita, kita ingin mengetahui apakah string utama kita " Film: Iron Man, Batman, Superman, Spiderman, Thor " mengandung huruf " Z " atau tidak. Karena tidak, kita mendapatkan Surat tidak ditemukan hasil.

5. VBA untuk Memeriksa Apakah Rentang String Berisi String Lain

Kita telah mempelajari bagaimana cara memeriksa apakah string yang diberikan mengandung string lain atau tidak. Namun pada bagian ini, kita akan mempelajari bagaimana cara memeriksa apakah suatu range string mengandung substring atau tidak dengan dataset berikut sebagai contoh.

Langkah-langkah:

  • Terbuka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Public Sub ContainsSub() If InStr(ActiveSheet.Select, "Hulk")> 0 Then MsgBox "Film ditemukan" Else MsgBox "Film tidak ditemukan" End If End Sub 

Kode Anda sekarang siap untuk dijalankan.

  • Lari kode.

Jika kisaran Anda string berisi substring maka Anda akan mendapatkan kecocokan yang ditemukan, jika tidak, itu akan mengembalikan tidak ada kecocokan yang ditemukan.

6. VBA untuk Mengekstrak String dari String

Di bagian ini, kita akan melihat bagaimana cara memeriksa apakah string mengandung substring tertentu dan mengekstraknya di sel lain.

Kita akan mengekstrak informasi nama-nama yang dimulai dengan " Chris " dari dataset berikut ini.

Langkah-langkah :

  • Terbuka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Sub SearchSub() Dim lastrow As Long Dim i As Integer, count As Integer lastrow = ActiveSheet.Range("A30000").End(xlUp).Row For i = 1 To lastrow If InStr(1, LCase(Range("C" &i)), "Chris") 0 Then count = count + 1 Range("F" &count & ":H" & count) = Range("B" &i & ":D" & i).Value End If Next i End Sub 

Kode Anda sekarang siap untuk dijalankan.

  • Lari kode.

Hanya nama-nama yang diawali dengan " Chris " akan disimpan dalam sel yang sudah ditentukan sebelumnya.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.