Nola aurkitu VBA-rekin String Excel-en (8 adibide)

  • Partekatu Hau
Hugh West

VBA ezartzea Excel-en edozein eragiketa egiteko metodorik eraginkorrena, azkarrena eta seguruena da. Artikulu honetan, beste kate jakin batean nola aurkitu erakutsiko dizugu Excel-en VBA erabiliz.

Deskargatu Praktika txantiloia

Zuk. Doako praktika Excel txantiloia deskarga dezakezu hemendik.

VBA String.xlsm-en aurkitzeko

InStr Funtzioa

Microsoft Excel-ek InStr Funtzioa izeneko funtzio integratua du kate jakin batean kate zehatzen posizioa aurkitzeko.

Sintaxi generikoa:

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

Hemen,

Argudioak Beharrezkoa/ Aukerakoa Definizioa
hasi Aukerakoa Bilaketa hasierako posizioa.
  • Lehenespenez, InStr funtzioak karakterearen posizioa kalkulatzen du 1etik zenbatuta, ez hasierako posiziotik. Beraz, nahi izanez gero, hutsik utz dezakezu.
katea1 Beharrezkoa Bilatu beharreko katea, Lehen mailako katea.
katea2 Beharrezkoa Kate nagusian bilatu beharreko katea .
konparatu Aukerakoa InStr funtzioak maiuskulak eta minuskulak bereizten ditu lehenespenez. Baina maiuskulak eta minuskulak bereizten ez dituen InStr exekutatu nahi baduzu, argumentua hemen pasa dezakezu konparazio jakin bat egiteko. Argudio hau honakoa izan daitekebalioak,
  • vbBinaryCompare -> konparazio bitarra egiten du, 0 balioa itzultzen du
  • vbTextCompare -> testu-konparaketa bat egiten du, 1 balioa itzultzen du
  • vbDatabaseCompare -> datu-basearen konparazioa egiten du, 2 balioa itzultzen du

Berez, InStr -k vbBinaryCompare hartzen du alderatzeko argumentu gisa.

8 adibide errazak VBA erabiliz kate jakin batean kateen posizio zehatza aurkitzeko

Ikus ditzagun adibide erraz batzuk kate jakin bateko kate batzuen posizioak lortzeko. VBA .

1. VBA testuaren posizioa katean aurkitzeko

Behean InStr ren adibide bat aurkituko duzu testu baten posizioa kate batean.

  • Sakatu Alt + F11 teklatuan edo joan Garatzailea -> Visual Basic Visual Basic Editor irekitzeko.

  • Laster-kodeen leihoan, menu-barratik , egin klik Txertatu -> Modulua .

  • Orain kode-leihoan, idatzi InStr programa soil bat VBA azpian. Prozedura (ikus behean).
3568

Zure kodea exekutatzeko prest dago orain.

  • Sakatu F5 zure teklatuan edo menu-barran hautatu Exekutatu -> Exekutatu Azpi/UserForm . Azpi-menu-barran dagoen Play ikono txikia ere egin dezakezu klik makroa exekutatzeko.

Ikusiko duzu pop-up mezu-koadroak zenbaki bat emango dizuegiaztatu nahi duzun testuaren posizioa adieraziz.

Azalpena:

Gure kate nagusia, “ Zoriontasuna aukera bat da ” 21 hizkiko esaldia da (hutsuneekin) eta kate horretan “ aukera ” testuaren posizioa aurkitu nahi izan dugu. " aukera " testua kate nagusiaren 16. posiziotik hasi zen, beraz, 16 zenbakia lortu dugu mezu-koadroan.

2. VBA katearen posizio zehatz batetik testua aurkitzeko

Orain ikus dezagun zer gertatuko litzatekeen posizioa zenbaki jakin batetik lortu nahi bagenu.

  • Era berean. aurretik, ireki Visual Basic Editor Garatzailea fitxatik eta Txertatu Modulua kodearen leihoan.
  • In kode-leihoan, idatzi goian erakusten den InStr programa sinple bat eta pasa hasierako argumentuaren balioa zure testua zenbatu nahi duzun posizioaren arabera.
2194

  • Ondoren, Exekutatu kodea.

Laster-mezu-koadroa agertuko dela ikusiko duzu. Eman zenbaki bat egiaztatu nahi zenuen posizioa adierazten duen testuaren posizio jakin batetik hasita .

Azalpena:

Lehendik ere bagenekien (1. faseko eztabaidatik) “ aukera ” testua 16 ren posiziotik hasten zela, beraz, bi “ txertatu genituen. aukera ” kate nagusian eta ezarri 17 gure gisa1. parametroa lehen " aukera " saltatzeko. Beraz, Exekutatu dugu goiko makroa eta 27 posizio-zenbakia erakutsi digu, hau da, segundo " aukera "ren posizio-zenbakia. emandako katean.

3. VBA-k String-en maiuskulak eta minuskulak bereizten ez dituen InStr Funtzioa duen testua aurkitzeko

InStr funtzioaren sarreratik badakizu lehenespenez InStr funtzioa dela. maiuskulak eta minuskulak bereizten ditu. Jakin dezagun adibide batekin.

Ikus hurrengo VBA kodea, non aurkitu nahi genuen hitzaren posizioa “ Aukera “C” maiuskula batekin “ Zoriontasuna aukera bat da ” katean non aukera “c” txiki batekin idazten den. .

  • Exekutatu kodea eta bilatu 0 gure irteera gisa.

Hori da InStr funtzioak “C” maiuskulak eta “c” txikiak ezberdin tratatzen dituelako. Beraz, " Aukera " hitza bilatu du katean eta ez du bat-etortzerik lortu, beraz, 0 itzuli da.

  • InStr funtzioa maiuskulak eta minuskulak bereizteko izan dadin, ezarri alderatzeko argumentua vbTextCompare gisa (ikus behean).
9458

  • Exekutatu kodea.

Testuaren posizioa lortuko duzu katetik, testua letra larriz edo letra txikiz idatzita dagoen ala ez.

4. VBA kate baten eskuineko testua aurkitzeko

Orain arte InStr funtzioak katearen ezkerreko aldean soilik ematen zigun posizioa. Baina zer gertatzen da testuaren posizioa katearen eskuineko aldean aurkitu nahi baduzu.

InStrRev Funtzioak eskuinetik bilatzen du. InStrRev funtzioak InStr funtzioaren oso antzera funtzionatzen du eta katearen eskuineko testu baten posizioa aurkituko du.

Ikusi honako adibide hauek aldea ulertzeko.

  • Ondoko kodea InStr funtzioarekin exekutatzen badugu,

lehen testuaren posizioa ( 16 ) ematen digu “ aukera ”.

  • Baina InStrRev Funtzioarekin kode bera exekutatzen badugu,

posizioa ematen digu. ( 27 ) azken testuko “ aukera ”.

Antzeko irakurgaiak:

  • FindNext VBA erabiliz Excel-en (2 adibide)
  • Nola aurkitu eta ordezkatu VBA erabiliz (11 modu)
  • Bilatu bat-etortze zehatza VBA erabiliz Excel-en (5 modu)

5. VBA karaktere baten posizioa katean aurkitzeko

Kate batean karaktere jakin baten posizioa ere aurki dezakezu testua aurkitu duzun modu berean.

  • Kopiatu hurrengo kodea zure VBA kodearen leihoan
4129

  • Eta Exekutatu makroa.

Emandako katearen lehenengo “ e ” hemen dagozenbakia 7 posizioa.

6. VBA kate batean azpikatea aurkitzeko

Hemen kate batek azpikatea duen edo ez nola aurkitu ikasiko dugu.

Hori lortzeko, dugu gure kodean IF adierazpena exekutatzeko.

  • Lehen bezala, ireki Visual Basic Editor Garatzailea fitxatik eta Txertatu Modulu bat kodearen leihoan.
  • Kodeen leihoan, kopiatu hurrengo kodea eta itsatsi.
1181

Zure kodea exekutatzeko prest dago orain.

  • Exekutatu makroa.

Zure kateak azpikatea badu, aurkitutako bat-etordura lortuko duzu, bestela, ez du aurkitutako bat-etortzerik itzuliko. Gure adibidean, gure kate nagusiak “ Zoriontasuna aukera bat da ” “ aukera ” hitza duen ala ez. ez. Egiten den moduan, Aurkitutako bat-etordura emaitza lortuko dugu.

7. VBA gelaxka-barruti batean katea aurkitzeko

Testu jakin bat bilatu dezakezu kate gelaxka-barruti batean eta kate jakin bat itzul dezakezu.

Begiratu hurrengo adibidea non egingo dugun bilatu “ Dr. ” eta bat datorrenean “ Doktorea ” itzuliko da.

  • Behean dago goian aztertutako emaitza lortzeko kodea,
3692

  • Exekutatu kodea eta emaitza behean erakusten da

  • Makroa zure beharren arabera alda dezakezu. Adibidez, nahi baduzu" Profess. " aurkitzeko katearen edozein gelaxkatan, eta " Professor " itzultzeko, ondoren, pasa " Prof. " balio gisa " Dr "-ren ordez. makroaren 4. lerroan eta " Irakaslea "ren ordez " Doktorea " makroaren 5. lerroan eta definitu gelaxka-barrutiaren zenbakia horren arabera.

8. VBA gelaxka batean katea aurkitzeko

Ere testu jakin bat bilatu katearen gelaxka bakarrean eta kate jakin bat itzul dezakezu.

  • Kopiatu ondoko kodea eta itsatsi kodearen leihoan.
9477

Dr. bilatuko du>" B5 gelaxka -n eta bat etortzea aurkitzen badu, " Doktorea " itzultzen du C5 gelaxka .

  • Makroa zure beharren arabera alda dezakezu. Esate baterako, " Prof. " aurkitu nahi baduzu katearen edozein gelaxkatan, eta " Professoa " lortu itzulera gisa, ondoren, pasa " Prof. " balio gisa " Dr "-ren ordez. makroaren 2. lerroan eta " Irakaslea "ren ordez " Doktorea " makroaren 3. lerroan eta definitu gelaxka-erreferentzia-zenbakia horren arabera.

Ondorioa

Artikulu honek Excel-en kateetan zenbait testu aurkitu VBA makroa erabiliz erakutsi dizu. Artikulu hau zuretzat oso onuragarria izan dela espero dut. Galdetu lasaigaia.

Hugh West esperientzia handiko Excel prestatzaile eta analista da, industrian 10 urte baino gehiagoko esperientzia duena. Kontabilitate eta Finantzetan Lizentziatua eta Enpresen Administrazioko Masterra da. Hughek irakasteko grina du eta jarraitzeko eta ulertzeko erraza den irakaskuntza-ikuspegi berezia garatu du. Excel-en ezagutza adituak mundu osoko milaka ikasle eta profesionalei beren gaitasunak hobetzen eta beren karreran bikaintzen lagundu die. Bere blogaren bidez, Hughek bere ezagutzak munduarekin partekatzen ditu, doako Excel tutorialak eta lineako prestakuntza eskainiz, pertsona eta enpresei beren potentzial osoa lortzen laguntzeko.