VBA, lai pārbaudītu, vai virkne satur citu virkni programmā Excel (6 metodes)

  • Dalīties Ar Šo
Hugh West

Īstenošana VBA ir visefektīvākā, ātrākā un drošākā metode, lai veiktu jebkuru operāciju programmā Excel. Šajā rakstā mēs parādīsim, kā pārbaudīt, vai virkne satur citu virkni programmā Excel, izmantojot VBA .

Lejupielādēt prakses veidni

Bezmaksas prakses Excel veidni varat lejupielādēt no šejienes.

VBA, lai pārbaudītu, vai virkne satur vērtību.xlsm

6 VBA metodes, lai pārbaudītu, vai virkne satur citu virkni programmā Excel

Zemāk šajā sadaļā atradīsiet 6 efektīvas metodes, kā īstenot. VBA lai pārbaudītu, vai virkne satur citu virkni.

1. VBA, lai pārbaudītu, vai virkne satur apakšrindu

Zemāk ir šāds piemērs funkcija InStr lai atrastu, vai virkne satur apakšrindu programmā Excel.

Soļi:

  • Spiediet Alt + F11 uz tastatūras vai atveriet cilni Izstrādātājs -> Visual Basic lai atvērtu Visual Basic redaktors .

  • Iznirstošajā koda logā izvēlnes joslā noklikšķiniet uz Ievietot -> Modulis .

  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Public Sub ContainSub() If InStr("Filma: Dzelzs vīrs, Betmens, Supermens, Zirnekļcilvēks, Thor", "Hulk")> 0 Then MsgBox "Filma atrasta" Else MsgBox "Filma nav atrasta" End If End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist makro.

Ja jūsu virkne satur apakšrindu tad tiks atrasta atbilstība, pretējā gadījumā netiks atrasta neviena atbilstība.

Mūsu piemērā mēs vēlējāmies noskaidrot, vai mūsu primārā virkne " Filmas: Dzelzs cilvēks, Betmens, Supermens, Zirnekļcilvēks, Tors " ir vārds " Hulk " vai nē. Tā kā tas tā nav, mēs saņemam Filma nav atrasta rezultāts.

2. VBA, lai pārbaudītu, vai virkne satur skaitli

Var meklēt, vai virknes satur skaitļus, izmantojot VBA kods.

Aplūkojiet šādu piemēru, kurā mēs atradīsim, kuras virknes satur skaitļus ar filmu nosaukumiem.

Pasākumi, lai pārbaudītu, vai virknes satur skaitļus ar VBA ir norādītas turpmāk.

Soļi:

  • Tāpat kā iepriekš, atveriet Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Funkcija SearchNumbers(oRng As Range) As Boolean Dim bSearchNumbers As Boolean, i As Long bSearchNumbers = False For i = 1 To Len(oRng.Text) If IsNumeric(Mid(oRng.Text, i, 1)) Then bSearchNumbers = True Exit For End If Next SearchNumbers = bSearchNumbers End Function 
  • Šī nav apakšprocedūra attiecībā uz VBA programma, lai palaistu, tas ir izveidot Lietotāja definēta funkcija (UDF), kuru mēs izsauksim savā darblapā, lai izpildītu uzdevumu. Tātad pēc koda uzrakstīšanas, tā vietā, lai noklikšķinātu uz Palaist pogu, noklikšķiniet uz Saglabāt pogu izvēlnes joslā, lai saglabātu makro failu.
  • Tagad atgriezieties uz interesējošo darblapu un ierakstiet lietotāja definēto funkciju, ko tikko izveidojāt. VBA kods ( SearchNumber , koda pirmajā rindā) un funkcijas iekavās ievadiet tās virknes šūnas atsauces numuru, kurā ir sākuma skaitļi (piem. Šūna B5 ).
  • Preses Ievadiet .

Iegūsiet boolean vērtību ( TRUE vai Viltus ), ja šūnā esošajā rindā ir skaitļi, tad tiks iegūts TRUE , pretējā gadījumā FALSE .

  • Velciet šūnu uz leju par Uzpildes rokturis piemērot formulu pārējām šūnām, lai pārbaudītu, kurā rindā ir skaitļi un kurā nav.

3. VBA, lai iegūtu skaitļus no virknes

Iepriekšējā sadaļā mēs uzzinām, kā pārbaudīt, vai virknē ir vai nav skaitļi. Un šajā sadaļā mēs uzzināsim, kā izvilkt šos skaitļus un ievietot tos citā šūnā, izmantojot tālāk sniegto piemēru.

Pasākumi, lai pārbaudītu, vai virknes satur skaitļus, un izvilktu tos ar VBA ir norādītas turpmāk.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Lietotāja veidlapa šoreiz kodu loga cilnē Insert.
  • No parādījās Toolbox , velciet un nometiet CommandButton in the Lietotāja veidlapa .

  • Divreiz noklikšķiniet uz uz pogas, kopējiet un ielīmējiet šādu kodu.
 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 iRow = iRow + 1Next myAccessary Beigu daļa 
  • Palaist kodu, un tas jūs aizvedīs uz interesējošo darblapu.
  • Noklikšķiniet uz komandu pogas un no virknēm tiks iegūts iegūtais numurs.

4. VBA, lai pārbaudītu, vai virkne satur noteiktu burtu

Šī metode ir gandrīz līdzīga virknes apakšvirkņu pārbaudes metodei.

Zemāk ir InStr funkciju, lai atrastu, vai virkne satur noteiktu burtu programmā Excel.

Soļi:

  • Tāpat kā iepriekš, atveriet Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Public Sub ContainChar() If InStr("Filma: Dzelzs vīrs, Betmens, Supermens, Zirnekļcilvēks, Thor", "Z")> 0 Then MsgBox "Burts atrasts" Else MsgBox "Burts nav atrasts" End If End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist programmu. Ja jūsu virkne satur burtu tad tiks atrasta atbilstība, pretējā gadījumā netiks atrasta neviena atbilstība.

Mūsu piemērā mēs vēlējāmies noskaidrot, vai mūsu primārā virkne " Filmas: Dzelzs vīrs, Betmens, Supermens, Zirnekļcilvēks, Tors " ir burts " Z " vai nē. Tā kā tas tā nav, mēs saņemam Vēstule nav atrasta rezultāts.

5. VBA, lai pārbaudītu, vai virknes diapazons satur citu virkni

Mēs esam iemācījušies pārbaudīt, vai dotā virkne satur citu virkni vai nē. Bet šajā sadaļā mēs uzzināsim, kā pārbaudīt, vai virkņu diapazons satur apakšvirkni vai nē, kā piemēru izmantojot šādu datu kopu.

Soļi:

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 Public Sub ContainsSub() If InStr(ActiveSheet.Select, "Hulk")> 0 Then MsgBox "Filma atrasta" Else MsgBox "Filma nav atrasta" End If End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist kodu.

Ja jūsu virkne satur apakšrindu tad tiks atrasta atbilstība, pretējā gadījumā netiks atrasta neviena atbilstība.

6. VBA, lai iegūtu virknes no virknēm

Šajā sadaļā apskatīsim, kā pārbaudīt, vai virknes satur noteiktas apakšvirknes, un iegūt tās citā šūnā.

Mēs iegūsim informāciju par nosaukumiem, kas sākas ar " Chris " no šādas datu kopas.

Soļi :

  • Atvērt Visual Basic redaktors no Izstrādātājs cilne un Ievietot a Modulis koda logā.
  • Koda logā nokopējiet un ielīmējiet šādu kodu.
 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" & amp; i))), "Chris") 0 Then count = count + 1 Range("F" & count & ":H" & count) = Range("B" & i & ":D" & i).Value End If Next i End Sub 

Tagad jūsu kods ir gatavs darbam.

  • Palaist kodu.

Tikai nosaukumi, kas sākas ar " Chris " tiks saglabāti iepriekš definētajās šūnās.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.