VBA InStrRev | Kā izmantot Excel VBA InStrRev funkciju?

Excel VBA INSTRREV

Funkcija VBA INSTRREV , kas apzīmē vārdu “In String Reverse” , atgriež meklēšanas virknes (apakšvirknes) pirmās parādīšanās pozīciju citā virknē, sākot no tās virknes beigām (no labās uz kreiso), no kuras mēs meklējam virkne ar meklēšanu.

Funkcija INSTRREV sāk meklēt meklējamo virkni no tās virknes beigām, kurā mums tas ir jānoskaidro, bet pozīciju skaita no sākuma. Ir vēl viena INSTR vba funkcija (apzīmē virkni ), kas arī meklē virkni citā virknē un atgriež pozīciju, bet šī funkcija sāk meklēšanu no tās virknes sākuma, no kuras mēs meklējam meklējamu virkni.

INSTRREV un INSTR , abi ir MS Excel iebūvētā virknes / teksta VBA funkcija . Mēs tos varam izmantot, rakstot jebkuru makro Microsoft Visual Basic Editor.

Sintakse

Kā redzam augšējā attēlā, ir 2 obligātie un 2 izvēles argumenti.

  • StringCheck As String: Šis ir nepieciešamais arguments. Mums jāpiešķir virknes izteiksme, kas tiek meklēta.
  • StringMatch kā virkne: Šis arguments ir arī nepieciešams. Mums jānorāda meklējamā virknes izteiksme.
  • Sākt tik ilgi = -1: Šis ir neobligāts arguments. Mēs norādām skaitlisko izteiksmi. Pēc noklusējuma tas aizņem -1, kas nozīmē, ka meklēšana sākas pēdējā rakstzīmes pozīcijā. Ja mēs norādām kādu pozitīvu vērtību, piemēram, 80, tā sāk meklēt no virknes beigām šajās 80 kreisās rakstzīmēs.
  • Salīdzināt kā VbCompareMethod = vbBinaryCompare As Long: Šis arguments nav obligāts.

Šim argumentam mēs varam norādīt šādas vērtības.

Atgriezt vērtības

  1. Funkcija INSTRREV atgriež 0, ja virknes pārbaude  ir nulle garuma vai virknes atbilstība  nav atrasta, vai arguments “Sākt” > virknes atbilstības garums .
  2. Šī funkcija atgriež vērtību “Null”, ja virknes pārbaude  vai virknes atbilstība  ir “Null” .
  3. Ja virknes atbilstība ir nulles garuma, funkcija atgriežas, lai sāktu .
  4. Ja virknes pārbaudē tiek atrasta virknes atbilstība , funkcija atgriež pozīciju, kurā ir atrasta atbilstība.

Kā izmantot VBA INSTRREV funkciju?

Šo VBA INSTRREV Excel veidni varat lejupielādēt šeit - VBA INSTRREV Excel veidne

Pieņemsim, ka mums ir dati par filmu nosaukumiem un to režisoriem. Mēs vēlamies sadalīt direktoru vārdus.

Mums ir dati 1201 rindā. Ja mēs veicam šo uzdevumu manuāli, tas prasīs daudz laika.

Lai to izdarītu, mēs izmantosim VBA kodu. Darbības ir šādas:

  • Mums ir jānoklikšķina uz komandas Visual Basic, kas ir pieejama cilnes “Izstrādātājs” grupā “Kods”, vai arī mēs varam nospiest Alt + F11, lai atvērtu vizuālo pamata redaktoru.

  • Mēs ievietosim moduli, izmantojot izvēlni 'Ievietot' .

  • Mēs izveidosim apakšprogrammu ar nosaukumu “SplittingNames” .

  • Mums vajag 6 mainīgos. Viens šūnu vērtību glabāšanai, ar kurām mēs manipulēsim. Otrkārt, lai saglabātu pirmās vietas pozīciju virknē, trešā - pēdējās vietas pozīcijas saglabāšanai virknē, ceturtā - pēdējās rindas numura glabāšanai, piektā un sestā rindai un kolonnai, ko mēs izmantosim, lai drukātu vērtības blakus esošajās šūnās.

  • Lai uzzinātu pēdējo izmantoto lapas rindu, mums jāizmanto šāds kods.

Šis kods vispirms atlasīs šūnu B1 un pēc tam tajā pašā kolonnā atlasīs pēdējo izmantoto šūnu, un pēc tam mēs mainīsim šūnas rindas numuru mainīgajam 'LastRow'.

  • Tagad, lai manipulētu ar visām šūnām kolonnā B, mēs palaidīsim cilpu “par” .

  • Mēs glabāsim B kolonnas šūnu vērtību no 2. līdz 121. rindai pa vienam mainīgajā 's', lai ar tām manipulētu.

  • Mums ir jāiestata mainīgā “Kolonna” vērtība uz 3, jo mums jāsaraksta sadalītie vārdi C (3. kolonna) un kolonna uz priekšu.

  • Ja virkne ir tikai viens vārds, kas nozīmē, ka virknē nav vietas, tad mēs vēlamies pašu virkni kā izvadi. Lai to izdarītu, mēs norādīsim nosacījumu, izmantojot “Ja un citu paziņojumu” ar zvaigznītes zīmi (kas apzīmē vienu vai vairākas rakstzīmes) šādi:

  • Ja virknē ir vieta, mēs vēlamies sadalīt virkni. Lai izdarītu to pašu, mēs esam izmantojuši INSTR un INSTRREV funkcijas, lai noskaidrotu attiecīgi pirmo un pēdējo vietu. Tas mums palīdzēs atrast pirmo un pēdējo vārdu attiecīgi virknē.

Funkcija INSTR izmanto šādu argumentu:

Informācija par argumentu

  • Sākums: no kuras pozīcijas sākt.
  • 1. virkne : mums jāpiešķir virknes izteiksme, kas tiek meklēta.
  • 2. virkne : mums jānorāda meklējamā virknes izteiksme.

Salīdzināts kā VbCompareMethod: Salīdzināšanas metodes norādīšana. Pēc noklusējuma tas ir binārs salīdzinājums.

  • Mums jāizmanto funkcija vba LEFT, lai no virknes izvilktu kreisās rakstzīmes. Mēs izmantojām 'Last Space-1', lai iegūtu pēdējās rakstzīmes pirms pēdējās atstarpes.

Mums jāizmanto funkcijas RIGHT un LEN, lai pēc pirmās atstarpes izvilktu pareizās rakstzīmes no virknes.

Makro ir uzrakstīts. Tagad mums vienkārši jāpalaiž makro, izmantojot taustiņu F5 .

Kods:

 Sub SplittingNames () Dim s As String Dim FirstSpace As Long Dim LastSPace As Long Dim LastRow As Long Dim Row As Long Dim Column As Long Sheet1.Range ("B1"). Atlasiet Selection.End (xlDown). Atlasiet LastRow = ActiveCell. Rinda rindai = 2 uz LastRow s = Sheet1.Cells (2. rinda). Vērtības kolonna = 3 Ja s Patīk "* *" Tad FirstSpace = InStr (1, s, "") LastSPace = InStrRev (s, "") Sheet1.Cells (Row, Column) .Vērtība = Kreisā (s, LastSPace - 1) Sheet1.Cells (Row, Column + 1). Value = Right (S, Len (s) - FirstSpace) Cita lapa1.Cells (Row, Kolonna). Vērtība = s Beigas, ja Nākamā beigu apakšnodaļa 

Mums tagad ir rezultāts.


$config[zx-auto] not found$config[zx-overlay] not found