Cara Mencari Substring Menggunakan VBA (9 Cara)

  • Berkongsi Ini
Hugh West

Jika anda mencari beberapa cara paling mudah untuk mencari subrentetan menggunakan VBA, maka anda berada di tempat yang betul. Selepas membaca artikel ini, anda akan dapat mencari kedudukan subrentetan atau mengekstrak data menggunakan subrentetan ini atau menukar format subrentetan dengan mudah. Mari kita masuk ke artikel.

Muat Turun Buku Kerja

Contoh kandungan

9 Cara Mencari Subrentetan Menggunakan VBA

Di sini, saya mempunyai perkara berikut jadual data yang mana saya akan menunjukkan cara mencari subrentetan dalam rentetan menggunakan VBA. Saya juga akan cuba menunjukkan cara mencari subrentetan dalam rentetan rawak.

Saya telah melaksanakan tugas ini menggunakan versi Microsoft Excel 365 , anda boleh menggunakan mana-mana versi lain mengikut keselesaan anda.

Kaedah-1: Mencari Subrentetan dalam Rentetan Menggunakan VBA

Jika anda ingin mencari subrentetan yang anda inginkan dalam rentetan menggunakan VBA, anda boleh menggunakan fungsi InStr dalam kod VBA.

Langkah-01 :

➤Pergi ke Pembangun Tab>> Visual Basic Pilihan

Kemudian, Visual Basic Editor akan dibuka.

➤Pergi ke Sisipkan Tab>> Modul Pilihan

Selepas itu, Modul akan dibuat.

Langkah-02 :

➤Tulis kod berikut

7729

Di sini, InStr(1, “ Oleh itu, saya fikir saya", "fikir") akan mengembalikan kedudukan subrentetan rentetan. 1 ialahkedudukan mula, " Saya fikir oleh itu saya" ialah rentetan di mana anda akan menemui subrentetan yang anda inginkan, dan "fikir" ialah subrentetan yang anda ingin cari. Ia secara lalai sensitif huruf jadi berhati-hati terhadap kes subrentetan anda yang ingin anda cari.

➤Tekan F5

Keputusan :

Selepas itu, anda akan mendapat Kotak Mesej yang berikut yang mengandungi kedudukan “think” subrentetan.

Kaedah-2: Mencari Subrentetan Tidak Peka Huruf dalam Rentetan

Jika anda ingin mencari subrentetan yang anda inginkan dalam rentetan tanpa mengira kes menggunakan VBA, ikuti ini kaedah.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

4225

Di sini, vbTextCompare digunakan untuk mencari subrentetan tidak peka huruf besar dan kecil.

➤Tekan F5

Keputusan :

Kemudian, anda akan mendapat Kotak Mesej berikut yang mengandungi kedudukan subrentetan “think” .

Anda boleh melakukan perkara yang sama dengan menggunakan kod berikut.

3530

Di sini, Pilihan Bandingkan Teks akan menemui subrentetan tidak peka huruf besar-besaran.

➤Tekan F5

Hasil :

Selepas itu, anda akan akan mendapat Kotak Mesej berikut yang mengandungi kedudukan subrentetan “think” .

Kaedah-3: Menggunakan fungsi InstrRev dalam VBA

Di sini, saya akan menunjukkan cara untuk mencari subrentetan dari penghujung arentetan.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

8849

InStrRev akan mencari subrentetan dari sebelah kanan dan bukannya sebelah kiri.

➤Tekan F5

Keputusan :

Kemudian, anda akan mendapat Kotak Mesej yang berikut yang mengandungi kedudukan “I” subrentetan kedua daripada sebelah kanan.

Kaedah-4: Mencari kedudukan Subrentetan dalam Rentetan dalam Julat Data

Jika anda ingin mencari aksara khas “@” dalam Id E-mel , kemudian ikut kaedah ini. Saya telah menambahkan di sini lajur Kedudukan untuk tujuan ini.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

4075

Ia akan mencipta fungsi bernama FindSubstring (anda boleh menggunakan mana-mana nama lain)

nilai ialah rujukan sel yang mengandungi rentetan dan ia diisytiharkan sebagai Julat .

Langkah -02 :

➤Pilih output Sel E5

➤Taip fungsi berikut (dicipta oleh VBA )

=FindSubstring(D5)

D5 ialah sel yang mengandungi rentetan.

➤Tekan ENTER

➤Seret ke bawah Pemegang Isi Alat

Keputusan :

Selepas itu, anda akan mendapat kedudukan watak istimewa @” dalam Id E-mel .

Bacaan Serupa:

  • Cara MencariRentetan dalam Sel Menggunakan VBA dalam Excel (2 Kaedah)
  • Cari Seterusnya Menggunakan VBA dalam Excel (2 Contoh)
  • Cara Mencari Rentetan dengan VBA dalam Excel (8 Contoh)
  • VBA Cari Baris Terakhir dalam Excel (5 cara)

Kaedah-5: Menyemak Subrentetan Tertentu dalam Rentetan dalam Julat Data

Andaikata, anda ingin menulis Lulus atau Gagal sepadan dengan nama pelajar bergantung pada lajur Hasil dengan Lulus atau Gagal telah ditulis dalam kurungan. Untuk mencari subrentetan ini dalam lajur Hasil dan tulis dalam lajur Lulus atau gagal ikut kaedah ini.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

2068

Di sini, julat sel ialah C5:C10 iaitu lajur Hasil

InStr(cell.value, “Pass”) > 0 adalah keadaan di mana nombor lebih besar daripada sifar (apabila sel mengandungi “Pass” )  maka baris berikut akan diteruskan dan memberikan output dalam sel bersebelahan sebagai Lulus .

Jika keadaan menjadi palsu bermakna sel tidak mengandungi sebarang “Pass” maka baris di bawah Else akan melaksanakan dan memberikan nilai output dalam sel bersebelahan sebagai Gagal .

Gelung ini akan diteruskan untuk setiap sel.

➤Tekan F5

Hasil :

Kemudian, anda akan mendapat output berikut dalam Lulus atau gagal lajur.

Kaedah-6: Menyemak Subrentetan Tertentu dalam Rentetan dan Mengekstrak Data

Saya akan menunjukkan cara untuk mencari pelajar yang dinamakan Michael dalam lajur Nama Pelajar dan ekstrak data mereka yang sepadan menggunakan VBA dalam kaedah ini.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

4757

Di sini, saya telah menggunakan B100 sebagai Julat Helaian Aktif tetapi anda boleh menggunakan mana-mana julat mengikut penggunaan anda.

InStr(1, Range("B" & i), "Michael") > 0 adalah syarat untuk menyemak sama ada sel masuk lajur B mengandungi Michael

Range("E" & icount & ":G" & icount) ialah julat yang anda inginkan data output anda dan Range("B" & i & ":D" & i).value akan memberikan nilai daripada lajur B hingga D .

➤Tekan F5

Keputusan :

Selepas itu, anda akan mendapat data yang diekstrak berikut untuk pelajar yang mempunyai nama Michael .

Kaedah-7: Mencari Subrentetan untuk Word

Jika anda ingin mencari subrentetan sebagai perkataan, maka fol rendahkan kaedah ini.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

3579

Ia akan menyemak sama ada rentetan mengandungi adalah dan kemudian kedudukannya akan diberikan

➤Tekan F5

Hasil :

Selepas itu, anda akan mendapat kotak mesej berikut yang menunjukkan perkataan yang terdapat dalam kedudukan:6 (kedudukan ialah ).

Anda boleh mengujikeluarkan kod ini untuk perkataan yang tiada dalam rentetan.

➤Taip kod berikut

7380

➤Tekan F5

Hasil :

Selepas itu, anda akan mendapat kotak mesej berikut yang menunjukkan perkataan tidak ditemui .

Kaedah-8: Menggunakan fungsi Instr dan LEFT

Di sini, saya akan menerangkan cara untuk mencari kedudukan subrentetan dalam rentetan dan mengekstrak teks sebelum subrentetan ini dengan menggunakan VBA dan fungsi LEFT .

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah-1

7709

j = InStr(txt, "is") ialah kedudukan subrentetan adalah dan Left(txt, j - 1) akan mengekstrak subrentetan sebelum ialah .

➤Tekan F5

Hasil :

Selepas itu, anda akan mendapat kotak mesej berikut yang menunjukkan Di sini (subrentetan sebelum ialah ).

Kaedah-9: Tebal Subrentetan Tertentu dalam Rentetan

Anda boleh tebalkan gred sebelum kurungan dalam lajur Hasil dengan mengikuti kaedah ini d.

Langkah-01 :

➤Ikuti Langkah-01 daripada Kaedah- 1

3914

txt = InStr(1, Cell, "(") akan mengembalikan kedudukan kurungan pertama dan Cell.Characters(1, txt - 1).Font.Bold akan menjadikan subrentetan sebelum kurungan pertama Tebal .

Langkah-02 :

➤Pilih lajur Hasil

➤Pergi kepada Pembangun Tab>> Makro Pilihan

Kemudian, Makro wizard akan muncul.

➤Pilih Boldingsubstring (nama kod VBA) dan kemudian Jalankan .

Keputusan :

Selepas itu, gred dalam Keputusan Lajur akan dicetak tebal.

Bahagian Latihan

Untuk melakukan latihan sendiri, kami telah menyediakan bahagian Amalan seperti di bawah dalam helaian bernama Amalan . Sila lakukan sendiri.

Kesimpulan

Dalam artikel ini, saya cuba membincangkan cara paling mudah untuk mencari subrentetan menggunakan VBA dalam Excel dengan berkesan. Harap anda akan mendapati ia berguna. Jika anda mempunyai sebarang cadangan atau soalan, sila kongsikan dengan kami.

Hugh West ialah jurulatih dan penganalisis Excel yang sangat berpengalaman dengan lebih 10 tahun pengalaman dalam industri. Beliau memiliki Ijazah Sarjana Muda Perakaunan dan Kewangan serta Ijazah Sarjana dalam Pentadbiran Perniagaan. Hugh mempunyai minat untuk mengajar dan telah membangunkan pendekatan pengajaran yang unik yang mudah diikuti dan difahami. Pengetahuan pakar Excel beliau telah membantu beribu-ribu pelajar dan profesional di seluruh dunia meningkatkan kemahiran mereka dan cemerlang dalam kerjaya mereka. Melalui blognya, Hugh berkongsi pengetahuannya dengan dunia, menawarkan tutorial Excel percuma dan latihan dalam talian untuk membantu individu dan perniagaan mencapai potensi penuh mereka.