Pag-andar ng VBA MID | Paano gamitin ang Excel VBA MID Function?

Pag-andar ng Excel VBA MID

VBA MID ang function ay kumukuha ng mga halaga mula sa gitna ng ibinigay na pangungusap o salita. Ang pagpapaandar ng MID ay ikinategorya sa ilalim ng String at Text function at ito ay isang worksheet function na nangangahulugang gamitin ang pagpapaandar na ito sa VBA kailangan nating gamitin ang application.worksheet na pamamaraan.

Mayroong mga sitwasyon kung saan nais naming makuha ang unang pangalan, apelyido o gitnang pangalan. Sa mga sitwasyong iyon, kapaki-pakinabang ang mga formula ng kategorya ng TEXT upang matupad ang aming mga kinakailangan. Ang paggamit ng pagpapaandar na ito ay pareho sa sanggunian ng worksheet at pareho din ang syntax.

Syntax

Tulad ng aming excel MID function, sa VBA din mayroon itong katulad na hanay ng mga halaga ng syntax. Nasa ibaba ang syntax.

  • String sa Paghahanap: Ito ay walang anuman kundi kung ano ang pangungusap ng string ibig sabihin mula sa aling string o salitang nais mong kunin ang mga halaga.
  • Panimulang Posisyon: Mula sa aling posisyon ng pangungusap na nais mong kunin. Ito ay dapat na isang numerong halaga.
  • Bilang ng Mga Character na Kinukuha: Mula sa panimulang posisyon kung gaano karaming mga character ang nais mong kunin? Ito rin ay dapat na isang bilang na bilang.

Paano gamitin ang VBA MID Function?

Maaari mong i-download ang VBA MID Function Template na ito dito - VBA MID Function Template

Halimbawa # 1

Ipagpalagay na mayroon kang salitang "Hello Good Morning" at nais mong kunin ang "Magandang" mula sa pangungusap na ito. Sundin ang mga hakbang sa ibaba upang makuha ang halaga.

Hakbang 1: Lumikha muna ng isang macro name.

Code:

 Sub MID_VBA_Example1 () Tapusin ang Sub 

Hakbang 2: Ipahayag ang isang variable bilang "STRING".

Code:

 Sub MID_VBA_Example1 () Malabo ang MiddleValue Bilang String End Sub 

Hakbang 3: Ngayon magtalaga ng isang halaga sa variable na ito sa pamamagitan ng pag-andar ng MID.

Code:

 Sub MID_VBA_Example1 () Madilim na MiddleValue Bilang String MiddleValue = Mid (End Sub 

Hakbang 4: Ang unang argumento ay String ibig sabihin, mula sa aling halaga ang nais nating kunin. Kaya ang aming halaga ay "Hello Good Morning".

Code:

 Sub MID_VBA_Example1 () Malabo ang MiddleValue Bilang String MiddleValue = Mid ("Hello Good Morning", End Sub 

Hakbang 5: Susunod na kung ano ang panimulang posisyon ng character na nais mong kunin. Sa kasong ito, ang Magandang umaga ay nagsisimula mula sa isang ika-7 character.

Tandaan: Ang espasyo ay isang karakter din.

Code:

 Sub MID_VBA_Example1 () Malabo ang MiddleValue Bilang String MiddleValue = Mid ("Hello Good Morning", 7 End Sub 

Hakbang 6: Ang haba ay walang iba kundi kung gaano karaming mga character ang nais mong kunin. Kailangan nating kumuha ng 4 na character dito dahil sa haba ng salitang "Mabuti" ay 4 na character.

Code:

 Sub MID_VBA_Example1 () Malabo ang MiddleValue Bilang String MiddleValue = Mid ("Hello Good Morning", 7, 4) End Sub 

Hakbang 7: Nakumpleto na namin ang formula. Ipakita natin ang resulta ng variable sa kahon ng mensahe.

Code:

 Sub MID_VBA_Example1 () Malabo ang MiddleValue Bilang String MiddleValue = Mid ("Hello Good Morning", 7, 4) MsgBox MiddleValue End Sub 

Hakbang 8: Manu-manong patakbuhin ang code na ito o pindutin ang F5 key, dapat ipakita ng kahon ng mensahe ang salitang "Mabuti".

Output:

Halimbawa # 2

Ipagpalagay na mayroon kang isang apelyido at apelyido na magkasama at ang salitang "Ramesh, Tendulkar". Sa pagitan ng Unang Pangalan at Huling Pangalan, ang karakter ng paghihiwalay ay isang kuwit (,). Ngayon kailangan na nating kunin ang unang pangalan lamang.

Hakbang 1: Lumikha ng isang macro at tukuyin ang isang variable.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String End Sub 

Hakbang 2: Ngayon magtalaga ng isang halaga sa variable na ito sa pamamagitan ng pag-andar ng MID.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String FirstName = Mid (End Sub 

Hakbang 3: Ang aming string ay "Ramesh.Tendulkar", kaya ipasok ang salitang ito.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", End Sub 

Hakbang 4: Dahil kinukuha namin ang posisyon ng panimulang pangalan ay 1.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub 

Hakbang 5: Ang haba ng character na maaari mong direktang ipasok bilang 6 ngunit hindi ito ang pinakamahusay na paraan. Upang matukoy ang haba hinahayaan na mag-apply ng isa pang pormula na tinatawag na Instr.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub 

Hakbang 6: Para sa panimulang posisyon na ito ay 1.

Code:

 Sub MID_VBA_Example2 () Madilim ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub 

Hakbang 7: Ang string 1 ang aming pangalan ibig sabihin ay "Ramesh, Tendulkar".

Code:

 Sub MID_VBA_Example2 () Malabo ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", End Sub 

Hakbang 8: String 2 ano ang separator ng apelyido at apelyido ibig sabihin ay kuwit (,).

Code:

 Sub MID_VBA_Example2 () Malabo ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") End Sub 

Tandaan: Ibabalik ng pagpapaandar ng Instr kung gaano karaming mga character ang nandiyan sa salitang "Ramesh, Tendulkar" mula sa posisyon ng string 1 hanggang sa mga posisyon ng string 2 ibig sabihin hanggang sa kuwit (,). Kaya ibabalik ni Instr ang 7 bilang resulta kasama ang kuwit (,).

Hakbang 9: Dahil ang pagpapaandar ng Instr ay nagbabalik ng hindi., Ng mga character kasama ang kuwit (,) kailangan naming bawasan ang 1 character dito. Kaya ipasok ang -1 pagkatapos ng pagsara ng pagpapaandar ng Instr.

Code:

 Sub MID_VBA_Example2 () Malabo ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) End Sub 

Hakbang 10: Ipakita ngayon ang halaga ng variable sa kahon ng mensahe.

Code:

 Sub MID_VBA_Example2 () Malabo ang FirstName Bilang String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) MsgBox FirstName End Sub 

Hakbang 11: Patakbuhin ang code na ito gamit ang F5 key o maaari mong manu-manong patakbuhin ang code na ito, makukuha namin ang unang pangalan sa kahon ng mensahe.

Output:

Halimbawa # 3

Ngayon bibigyan kita ng isang takdang-aralin upang malutas. Mayroon akong listahan ng First Name & Last Name.

Mula sa listahang ito nais kong kunin mo ang unang pangalan lamang. Lahat ng pinakamahusay !!!!.

Ok, Kung sinubukan mo at hindi makuha ang resulta kung gayon sa ibaba ang code ay makakatulong sa iyo dito.

Code:

 Sub MID_VBA_Example3 () Dim i As Long For i = 2 To 15 Cells (i, 2). Value = Mid (Cells (i, 1) .Value, 1, InStr (1, Cells (i, 1). Halaga, " , ") - 1) Susunod i End Sub 

Kopyahin at I-paste ang code sa itaas sa iyong module. Matapos makopya ang code, patakbuhin ang code na ito gamit ang F5 key o maaari kang tumakbo nang manu-mano.

Dapat itong ibigay ang resulta tulad ng nasa ibaba.

Bagay na dapat alalahanin

  • Ang haba ng argument sa pagpapaandar ng MID ay opsyonal. Kung babalewalain mo ito aabutin ng 1 bilang default na halaga.
  • Upang matukoy ang haba o panimulang posisyon gamitin ang Instr function kasama ang pag-andar ng MID.