VBA Asc | Paano Gumamit ng Asc Function sa Excel VBA? (ASCII character code)

Pag-andar ng Excel VBA Asc

Ang pagpapaandar ng Asc sa VBA ay ginagamit upang ibalik ang isang halaga ng integer na kumakatawan sa isang character code na naaayon sa unang character ng isang naibigay na string (string na ibinigay bilang argument / parameter) sa pagpapaandar. Maaari itong magamit o ibigay sa isang macro code na pangkalahatang ipinasok sa pamamagitan ng Visual Basic Editor.

Ang kapaligiran ng Excel kung saan tumatakbo ang macro sa Visual Basic Editor (VBE) na maaaring magamit upang i-edit at i-debug ang mga macro code. Hawak nito ang macro code at maiugnay ito sa workbook ng Excel.

Ang integer na halaga na ibinalik ng pagpapaandar ng Asc ay ang kaukulang ASCII character code sa VBA. Ang ASCII (American Standard Code for Interchange ng Impormasyon) ay isang 7-bit na pag-encode ng character na may kabuuang 128 mga character na tinukoy dito kasama ang mga Latin na alpabeto, sampung mga numerong Arabe, ilang mga bantas, at mga character na kontrol. Hindi kasama dito ang mga character na nakakagulat dahil nangangailangan sila ng isang minimum na puwang na 8-bit para sa pag-encode. Ang 8-bit coding na ito ay tapos na sa ANSI (American National Standards Institute) na may kabuuang 256 na natukoy na character. Ang ANSI ay tinatawag ding pinalawig na ASCII.

Syntax ng VBA Asc Function

Ang pangkalahatang Syntax para sa pagpapaandar ng ASC ay ang mga sumusunod:

Ang syntax ng formula ng ASC ay may sumusunod na argument:

String: Kinakailangan, kumakatawan sa string ng teksto na ang kaukulang character code ng unang karakter ay ninanais at ibabalik.

Kung ang string na ibinigay ay mayroon lamang isang character, pagkatapos ay malinaw na ibabalik ng pagpapaandar ang code ng numero ng character para sa character na iyon mismo.

Mga halimbawa ng Excel VBA Asc

Tingnan natin sa ibaba kung paano magagamit ang Asc sa Excel VBA.

Maaari mong i-download ang VBA Asc Function Excel Template dito - VBA Asc Function Excel Template

Halimbawa # 1

Ipaalam sa amin na mayroon kaming isang file na Excel na naglalaman ng ilang mga string, at nais naming gamitin ang pagpapaandar ng Asc sa mga string na ito. Tingnan natin ang mga string na nakapaloob sa file:

Ginagamit namin ang pagpapaandar ng Asc sa VBA sa isang macro na maaaring nakasulat sa Visual Basic Editor at maaaring ma-access tulad ng sumusunod:

Pumunta sa Developer, at pagkatapos ay mag-click sa Macros:

Lumikha ngayon ng isang pangalan ng macro: Sa ilalim ng 'Pangalan ng Macro' magsulat ng isang pangalan ng macro na nais na likhain, at piliin ang PERSONAL.XLSB sa dropdown ng 'Macros In'. Maaaring maimbak ang macros sa isang personal na workbook na isang nakatagong workbook na magbubukas sa background tuwing nagsisimula ang Excel. Ang pagpili ng PERSONAL.XLSB ay makatipid ng mga macros sa Personal na workbook kaya't ginagawang laging magagamit ang macro dahil ang Personal na Workbook ay hindi tiyak sa system / file.

Mag-click sa 'Lumikha'.

Bubuksan nito ang isang window na may isang pamamaraan ng sub ng VBA sa Visual Basic Editor tulad ng sumusunod:

Ngayon, tukuyin ang variable na Resulta

Code:

Sub Code () Dim Resulta1 Wakas na Sub

Italaga ngayon ang variable na Result1 na may formula upang ibalik ang code ng character ng string:

Code:

Sub Code () Dim Result1 Result1 = Asc ("Raj") End Sub

Ngayon ang resulta na halaga ng Result1 ay maaaring ipakita at ibalik gamit ang isang kahon ng mensahe ng VBA (MsgBox) tulad ng sumusunod:

Code:

Sub Code () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Ngayon kapag pinatakbo namin ang code na ito nang manu-mano sa pamamagitan ng pag-click sa 'Run' sa tuktok ng window o sa pamamagitan ng pagpindot sa F5, nakukuha namin ang code ng character ng unang titik ng string: "Raj" na ipinakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, nakikita natin sa screenshot sa itaas na sa pagpapatakbo ng macro, ang '82' ay ibinalik sa isang kahon ng mensahe. Ipinapahiwatig nito na ang character code para sa 'R' ay 82.

Ngayon, sabihin natin sa halimbawa sa itaas na nais naming hanapin ang code ng character para sa string: "Karan". Upang magawa ito, susundin namin ang parehong mga hakbang tulad ng nasa itaas.

Sa code sa halip na Raj isusulat namin ang Karan upang makuha ang code ng character nito.

Code:

 Sub String2 () Dim Result2 Result2 = Asc ("Karan") MsgBox Result2 End Sub 

Manu-manong pinatakbo namin ang code na ito o sa pamamagitan ng pagpindot sa F5, at nakukuha namin ang code ng character ng unang titik ng string: "Karan" na ipinapakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, nakikita natin sa screenshot sa itaas na sa pagpapatakbo ng macro, ang '75' ay ibinalik sa isang kahon ng mensahe. Ipinapahiwatig nito na ang isang character code para sa 'K' ay 75.

Tingnan natin ngayon kung paano nagbabago ang resulta para sa natitirang mga string:

Code:

 Sub String3 () Dim Result2 Result2 = Asc ("Heena") MsgBox Result2 End Sub 

 Sub String4 () Dim Result2 Result2 = Asc ("Arun") MsgBox Result2 End Sub 

 Sub String5 () Dim Result2 Result2 = Asc ("A") MsgBox Result2 End Sub 

 Sub String6 () Dim Result2 Result2 = Asc ("a") MsgBox Result2 End Sub 

Sa pagpapatakbo ng mga sub-pamamaraang ito nang paisa-isa, ang mga sumusunod na character code ay ibabalik sa kahon ng mensahe (isa-isa ayon sa pagkakabanggit). Ito ang listahan ng mga katumbas na halagang ibinalik para sa mga string sa itaas.

Kaya, tulad ng inilalarawan ng screenshot sa itaas, maaari naming makita na ang pagpapaandar ng ASC ay nagbabalik ng character code bilang 65 para sa string: "Arun", at para din sa string: "A". Ito ay sapagkat ang character code na ibinalik ay ang VBA ASCII o katumbas na code ng character para sa unang titik ng string kung sakaling ang string ay higit sa isang character. Samakatuwid, ang 65 ay ibinalik para sa kapwa bilang paunang o unang katangian ng string: "Arun" ay din ang 'A'.

Halimbawa # 2

Kung ang string na ibinigay bilang parameter / argument sa pagpapaandar ng VBA ASC ay isang walang laman / blangko na string (o isang string na walang mga character), pagkatapos ang function ay nagbabalik ng isang error sa run-time.

Ang sumusunod na code ay nagpapaliwanag ng pareho.

 Sub blangko () Dim resulta ng resulta = Asc ("") MsgBox (resulta) End Sub 

Kapag pinatakbo namin ang code na ito, nakukuha namin ang error sa Run-time tulad ng sumusunod.

Kaya, maaari nating makita sa screenshot sa itaas na kapag ang string na ibinigay bilang parameter o argument sa pagpapaandar ng ASC ay blangko / walang laman, pagkatapos ang function ay nagbabalik ng isang error sa run-time.

Bagay na dapat alalahanin

  • Ang string na ibinigay sa pagpapaandar ng VBA ASC ay maaaring maging anumang wastong pagpapahayag ng string.
  • Ang pagpapaandar ng Asc ay case-sensitive.
  • Ang integer na halaga na ibinalik ng pagpapaandar ng Asc ay nasa saklaw na 0-255.
  • Ang mga ASCII code sa VBA para sa A-Z ay 65-90, at para sa a-z ay 97-122.
  • Ang pangalang ibinigay sa isang macro o sub-pamamaraan ay hindi maaaring maging pangalan ng ilang default na pag-andar sa VBA. Kung pinangalanan ito, pagkatapos ang sub-pamamaraan ay magpapakita ng isang error.