Edukien taula
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.
|
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,
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.