Kumaha Nganggo Fungsi InStr dina VBA (3 Conto Gampang)

  • Bagikeun Ieu
Hugh West

Nalika damel sareng kodeu Excel VBA, urang mendakan sababaraha fungsi anu diwangun anu ngarobih tugas anu kompleks janten kode hiji-garis anu alit. InStr mangrupikeun fungsi anu sayogi dina Excel VBA anu milarian senar tinangtu dina senar anu dipasihkeun ti mimiti posisi anu dipasihkeun. Dinten ieu kuring bakal nunjukkeun kumaha anjeun tiasa nganggo fungsi InStr dina VBA pikeun milarian string khusus dina senar anu sanés.

Unduh Buku Latihan Praktek

InStr Function.xlsm

Pengenalan VBA InStr Function

  • Ringkesan

Méangan string husus dina string nu tangtu, dimimitian ti posisi nu tangtu. Lamun manggihan hiji patandingan, balikkeun posisi dina string dibikeun ti mana pertandingan dimimitian.

  • Sintaksis

InStr([start ],string1,string2,[bandingkeun])

  • Argumen
ARGUMEN SYARAT DESKRIPSI

[start] Opsional Posisi ti mana éta bakal ngamimitian milarian. Standarna nyaéta 1.
string1 Diperlukeun Senar nu di jerona néangan string nu tangtu.
string2 Diperlukeun Senar nu diteangan dina string nu tangtu.
[bandingkeun] Opsional Nilai numerik antara {-1,0,1,2} nu nangtukeun jenis babandingan. Thestandar nyaéta -1 (vbUseCompareOption). Lamun pernyataan Option Compare teu dieusian, lakukeun Binary Comparison.

Catetan:

  • Sanajan [start] argumen jeung [bandingkeun] argumen pilihan, anjeun peryogi [start] argumen lamun nangtukeun [bandingkeun] argumen. Upami teu kitu, éta bakal nyababkeun kasalahan.
  • Lamun salah sahiji atawa duanana tina [start] argumen jeung [compare] argumen Null , anjeun bakal nyanghareupan kasalahan.
  • Opat nilai anu ditangtukeun dina argumen [bandingkeun] ngalaksanakeun opat jinis pangbanding. Disebutkeun di handap:
NILAI KONSTANT DESCRIPSI

-1 vbUseCompareOption Ngalaksanakeun babandingan anu ditangtukeun dina pernyataan Option Bandingkeun.
0 vbBinaryCompare Ngalakukeun babandingan binér.
1 vbTextCompare Ngalaksanakeun babandingan téks.
2 vbDatabaseCompare Ngalaksanakeun babandingan dumasar kana pangkalan data anjeun .
  • Option Compare pernyataan nyaéta pernyataan anu disadiakeun saméméh kodeu VBA utama dimimitian. Ieu nangtukeun naha kode bakal milarian Perbandingan Biner atanapi Perbandingan Teks upami diperyogikeun.

Pilihan Bandingkeun Teks

    • Dina istilah basajan , Binary Comparison hartina case-sensitivebabandingan.
    • Dina istilah basajan , Text Comparison maksudna babandingan case-insensitive.
  • Nilai Balik
    • Mulangkeun posisi dina string1 ti mana string2 dimimitian.
    • Bisi string2 teu kapanggih dina string1 mimitian ti posisi mimiti , balikkeun 0.
    • Lamun string1 panjangna nol, balikkeun 0.
    • Upami string2 panjangna nol, ngabalikeun argumen start .
    • Sareng tungtungna, upami salah sahiji string1 atanapi string2 nyaéta Null , mulangkeun kasalahan.

3 Conto Gampang Ngagunakeun Fungsi VBA InStr

Dina bagian ieu, urang bakal ningali tilu conto gampang nerapkeun VBA InStr fungsi dina Excel. Hayu urang tingali conto mimiti fungsi InStr dina kode VBA.

1. Mutuskeun Naha Alamat Nyaéta Alamat Surélék atanapi Henteu ku nganggo Fungsi VBA InStr

Di dieu, kami parantos nyandak set data anu ngandung sababaraha alamat kontak para nasabah. Tujuan kami di dieu nyaéta pikeun ngaidentipikasi naha alamatna mangrupikeun alamat email atanapi henteu.

Ayeuna urang bakal ngembangkeun kode VBA nganggo fungsi InStr pikeun ngaidentipikasi naha éta alamat surélék atanapi henteu. Jang ngalampahkeun éta, tuturkeun léngkah-léngkah di handap ieu.

Léngkah-léngkah:

  • Di awal, buka tab Pamekar terus pilih Visual Basic (Atawa pencét Alt+F11) pikeun muka VBA jandela.

  • Teras, dina jandela VBA , buka Selapkeun > Modul .

  • Sanggeus éta, dina modul, témpél kodeu ieu:
4735

  • Salajengna, kami parantos nyiptakeun fungsi anu disebut KEPUTUSAN . Éta mutuskeun naha alamat mangrupikeun alamat email atanapi henteu. Hayu urang larapkeun pungsi kana set data anu urang gaduh.
  • Dina sél C5 , tuliskeun rumus di handap ieu teras eusian otomatis sésa sél nganggo Fill Handle .
=DECISION(B5)

  • Sapertos anu urang tingali, kami parantos ngaidentipikasi unggal alamat naha éta alamat email. atanapi henteu.

🎓 Kumaha Kode Gawéna?

  • Fungsi PUTUSAN(string1 Salaku String)

Kahiji, ieu nyieun hiji pungsi disebut PUTUSAN kalawan Argumen string ngaranna string1 .

  • Posisi Taram Salaku Integer

Ieu nyatakeun variabel integer ngaranna Position .

  • Position = InStr(1, string1, “@”, 0)

Ieu nangtukeun nilai tina Posisi variabel salaku kaluaran tina fungsi InStr kalayan argumen 1, string1, "@" sareng 0 . Pondokna, ieu nangtukeun posisi dina alamat dimana aya “@” .

  • Lamun Posisi = 0 Mangka PUTUSAN = "Henteu Email"

Ieu nangtukeun kaluaran tina DECISION fungsi salaku “Henteu Surélék” , upami Posisi variabel nyaéta 0 , hartina teu aya “@” dina alamatna.

(Inget lamun aya string anu teu kapanggih dina string anu dibikeun, InStr fungsi mulangkeun 0 ).

  • Else DECISION = “Email”

Ieu nangtukeun kaluaran DECISION fungsi salaku “Sélek” lamun aya “@” dina alamatna. Ku kituna, alamat nu aya “@” dikatégorikeun jadi Sélek , jeung sésa-sésa dikatégorikeun jadi “Henteu Surélék” .

Bacaan Sarupa

  • Cara Ngagunakeun fungsi VBA UCASE dina Excel (4 Conto)
  • Pake Fungsi MsgBox dina Excel VBA (Panduan Lengkep)
  • Kumaha cara ngagunakeun pungsi VBA SPLIT dina Excel (5 Conto)
  • Paké Fungsi LCase dina VBA dina Excel (Kalayan 4 Conto)
  • Kumaha Nganggo Fungsi Fix dina Excel VBA (4 Conto)

2. Ngamangpaatkeun VBA InStr Function pikeun Extracting Out the Extension of Some Email Addresses

Di dieu, urang boga daptar sababaraha Email Addresses of some customers. Waktos ieu urang bakal ngekstrak ekstensi alamat email sapertos naha aranjeunna gaduh gmail.com atanapi yahoo.com .

Jang ngalampahkeun éta, tuturkeun léngkah-léngkah ieu di handap.

Léngkah-léngkah:

  • Pikeun mimitian, kawas métode saméméhna, buka VBA<2 anyar> modul jeung témpél kodeu handap dina jandela.
6665

  • Sajaba ti éta, kami geus nyieun hiji fungsi disebut EKSTENSI . Éta ékstrak ekstensi tina alamat surélék mana waé.
  • Salajengna, hayu urang nerapkeun pungsi ieu kana set data anu urang gaduh. Mimiti, lebetkeun rumus ieu dina sél C5 teras klik dua kali dina Eusian Cecekelan .
=EXTENSION(B5)

  • Pamungkas, urang bisa nempo yén urang geus hasil nimba Extension sadaya Surélék.

🎓 Kumaha Cara Kodeu?

  • Fungsi EXTENSION(Surélék Salaku String)

Ieu nyieun fungsi anyar disebut EXTENSION , kalawan Argumen string ngaranna Email .

  • Posisi Taram Salaku Integer

Bagian ieu nyatakeun variabel integer ngaranna Position .

  • Position = InStr(1, Email, “@”, 0)

Ieu nangtukeun nilai tina Position variabel salaku kaluaran tina fungsi InStr kalawan argumen 1, Email, “@” jeung 0 . Pondokna, ieu nangtukeun posisi dina Email dimana aya “@” .

  • EXTENSION = Right(Email, (Len (Email) – Posisi))

Bagian ieu nangtukeun kaluaran fungsi EXTENSION salaku karakter sanggeus simbol “@” . Ieu mangrupikeun ekstensi anu diperyogikeun tina Email .

3. Extracting Out The First or Last Name from a Name ku Ngagunakeun VBA InStr Function

Ahirna, urang bakal ngalakukeun tugas anu béda-béda. waktos Ieu kami boga ngaran sababaraha karyawan tihiji pausahaan. Sarta kami baris nyoba ngawangun hiji fungsi pikeun nimba boh ngaran hareup atawa ngaran tukang karyawan.

Pikeun ngalakukeun éta, tuturkeun léngkah di handap ieu.

Lengkah-léngkah:

  • Kahiji, sarupa jeung metode 1 , témpél kodeu di handap dina modul anyar dina jandela VBA .
8606

  • Di dieu, urang geus nyieun hiji fungsi disebut SHORTNAME nu extracts boh ngaran hareup atawa ngaran tukang ti ngaran. Hayu urang larapkeun rumus ieu kana set data urang.
  • Saheulaanan, pikeun nimba ngaran hareup, tuliskeun rumus di handap dina sél C5 .
=SHORTNAME(B5,-1)

  • Pamungkas, pikeun nimba ngaran tukang, urang tuliskeun rumus ieu dina D5 :
=SHORTNAME(B5,1)

  • Sanggeusna, lamun urang ngeusian sesa sél sacara otomatis ku Fill Handler , urang bakal ningali hasil anu dipikahoyong.

🎓 Kumaha Kode Gawéna?

  • Fungsi SHORTNAME(Ngaran Salaku String, First_or_Last Salaku Integer)

Ieu nyieun pungsi anyar disebut SHORTNAME kalayan hiji argumen String ngaranna Ngaran jeung hiji Argumén Integer ngaranna First_or_Last .

  • Dim Break As Integer

Bagian ieu ngadéklarasikeun variabel integer anyar ngaranna Break .

  • Break = InStr(1, Name, ” “, 0)

Ieu nangtukeun nilai variabel Break salaku kaluaran tina fungsi InStr sareng argumen 1, Ngaran, “ ” jeung 0 . Pondokna, ieu nangtukeun posisi dina Ngaran dimana aya spasi (“ ”).

  • Mun First_or_Last = -1 Then SHORTNAME = Kénca(Ngaran, Break - 1)

Garis ieu nangtukeun kaluaran fungsi SHORTNAME salaku karakter saméméh spasi , lamun First_or_Last argumen nyaeta -1. Ieu ngaran hareup.

  • SHORTNAME = Katuhu(Ngaran, Len(Ngaran) – Break)

Bagian ieu nangtukeun kaluaran tina SHORTNAME fungsina salaku karakter sanggeus spasi , lamun First_or_Last argumen 1. Ieu ngaran tukang.

Kacindekan

Ku cara kieu, anjeun tiasa nyerat kodeu VBA nganggo fungsi InStr anu mendakan posisi senar khusus dina anu sanés. string, lajeng Anjeun bisa nyieun fungsi sorangan pikeun rupa-rupa kagunaan. Saterasna, upami aya patarosan, mangga taroskeun ka kami.

Hugh West mangrupikeun palatih sareng analis Excel anu ngalaman langkung ti 10 taun pangalaman di industri. Anjeunna nyepeng gelar Sarjana Akuntansi sareng Keuangan sareng gelar Master dina Administrasi Bisnis. Hugh gaduh gairah pikeun ngajar sareng parantos ngembangkeun pendekatan pangajaran anu unik anu gampang diturutan sareng kahartos. Pangaweruh ahli ngeunaan Excel parantos ngabantosan rébuan mahasiswa sareng profésional di sakumna dunya ningkatkeun kaahlian sareng unggul dina karirna. Ngaliwatan blogna, Hugh ngabagi pangaweruhna ka dunya, nawiskeun tutorial Excel gratis sareng pelatihan online pikeun ngabantosan individu sareng usaha ngahontal poténsi pinuh.