អារេនៅក្នុង Visual Basic សម្រាប់កម្មវិធី

អារេនៅក្នុង Visual Basic សម្រាប់កម្មវិធីគឺជារចនាសម្ព័ន្ធដែលជាធម្មតារក្សាទុកសំណុំនៃអថេរដែលពាក់ព័ន្ធនៃប្រភេទដូចគ្នា។ ធាតុអារេត្រូវបានចូលប្រើដោយលិបិក្រមលេខរបស់ពួកគេ។

ជាឧទាហរណ៍ មានក្រុមមនុស្សចំនួន 20 នាក់ ដែលឈ្មោះរបស់ពួកគេត្រូវរក្សាទុកសម្រាប់ការប្រើប្រាស់នៅពេលក្រោយនៅក្នុងកូដ VBA ។ មនុស្សម្នាក់អាចប្រកាសអថេរចំនួន 20 ដើម្បីកាន់ឈ្មោះនីមួយៗដូចជា៖

Dim Team_Member1 As String Dim Team_Member2 As String ... Dim Team_Member20 As String

ប៉ុន្តែអ្នកអាចប្រើវិធីសាមញ្ញ និងរៀបចំជាងនេះ - រក្សាទុកបញ្ជីឈ្មោះសមាជិកក្រុមក្នុងអារេនៃ 20 អថេរដូចជា ខ្សែអក្សរ:

Dim Team_Members (1 ដល់ 20) ជា String

នៅក្នុងបន្ទាត់ដែលបានបង្ហាញខាងលើយើងបានប្រកាសអារេមួយ។ ឥឡូវ​យើង​សរសេរ​តម្លៃ​ទៅ​ធាតុ​នីមួយៗ​របស់​វា ដូច​នេះ៖

Team_Members(1) = "ចន ស្មីត"

អត្ថប្រយោជន៍បន្ថែមនៃការរក្សាទុកទិន្នន័យនៅក្នុងអារេមួយ បើប្រៀបធៀបទៅនឹងការប្រើប្រាស់អថេរដាច់ដោយឡែក ក្លាយជាជាក់ស្តែងនៅពេលដែលវាចាំបាច់ដើម្បីអនុវត្តសកម្មភាពដូចគ្នានៅលើធាតុនីមួយៗនៃអារេ។ ប្រសិនបើឈ្មោះរបស់សមាជិកក្រុមត្រូវបានរក្សាទុកក្នុងអថេរ 20 ដាច់ដោយឡែក នោះវានឹងត្រូវការ 20 បន្ទាត់នៃកូដដើម្បីសរសេររាល់ពេលដើម្បីអនុវត្តសកម្មភាពដូចគ្នាលើពួកវានីមួយៗ។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើឈ្មោះត្រូវបានរក្សាទុកក្នុងអារេ នោះអ្នកអាចអនុវត្តសកម្មភាពដែលចង់បានជាមួយពួកវានីមួយៗដោយប្រើរង្វិលជុំសាមញ្ញ។

របៀបដែលវាដំណើរការត្រូវបានបង្ហាញខាងក្រោមជាមួយនឹងឧទាហរណ៍កូដដែលបោះពុម្ពឈ្មោះសមាជិកក្រុមនីមួយៗតាមលំដាប់លំដោយនៅក្នុងក្រឡាជួរឈរ។ A សន្លឹកកិច្ចការ Excel សកម្ម។

សម្រាប់ i = 1 ដល់ 20 Cells(i,1).Value = Team_Members(i) Next i

ជាក់ស្តែង ការធ្វើការជាមួយអារេដែលរក្សាទុកឈ្មោះ 20 គឺមិនសូវស្មុគស្មាញ និងត្រឹមត្រូវជាងការប្រើអថេរ 20 ដាច់ដោយឡែកពីគ្នា។ ប៉ុន្តែចុះយ៉ាងណាបើឈ្មោះទាំងនេះមិនមែន 20 ប៉ុន្តែ 1000? ហើយ​បើ​លើស​ពី​នេះ​ទៀត តម្រូវ​ឱ្យ​រក្សា​នាម​ត្រកូល និង​នាមត្រកូល​ដោយ​ឡែក​ពី​គ្នា?! វាច្បាស់ណាស់ថាឆាប់ៗនេះវានឹងក្លាយទៅជាមិនអាចទៅរួចទេទាំងស្រុងក្នុងការគ្រប់គ្រងបរិមាណទិន្នន័យបែបនេះនៅក្នុងកូដ VBA ដោយគ្មានជំនួយពីអារេ។

អារេពហុវិមាត្រក្នុង Excel Visual Basic

អារេ Visual Basic ដែលបានពិភាក្សាខាងលើត្រូវបានចាត់ទុកថាជាវិមាត្រមួយ។ នេះមានន័យថាពួកគេរក្សាទុកបញ្ជីឈ្មោះសាមញ្ញ។ ទោះយ៉ាងណាក៏ដោយ អារេអាចមានវិមាត្រច្រើន។ ឧទាហរណ៍ អារេពីរវិមាត្រអាចប្រៀបធៀបទៅនឹងក្រឡាចត្រង្គនៃតម្លៃ។

ចូរនិយាយថាអ្នកចង់រក្សាទុកតួលេខលក់ប្រចាំថ្ងៃសម្រាប់ខែមករាសម្រាប់ 5 ក្រុមផ្សេងគ្នា។ វានឹងត្រូវការអារេពីរវិមាត្រដែលមាន 5 សំណុំនៃម៉ែត្រសម្រាប់រយៈពេល 31 ថ្ងៃ។ ចូរប្រកាសអារេដូចនេះ៖

Dim Jan_Sales_Figures(1 ដល់ 31, 1 ដល់ 5) ជារូបិយប័ណ្ណ

ដើម្បីចូលប្រើធាតុអារេ Jan_Sales_Figuresអ្នកត្រូវប្រើលិបិក្រមពីរដែលបង្ហាញពីថ្ងៃនៃខែ និងលេខបញ្ជា។ ឧទាហរណ៍ អាសយដ្ឋាននៃធាតុដែលមានតួលេខលក់សម្រាប់ ២- អូ ក្រុមសម្រាប់ ៥២០០ ទី ខែ​មករា​នឹង​ត្រូវ​បាន​សរសេរ​ដូច​នេះ​:

Jan_Sales_Figures(15, 2)

ដូចគ្នាដែរ អ្នកអាចប្រកាសអារេដែលមានវិមាត្រ 3 ឬច្រើន - គ្រាន់តែបន្ថែមវិមាត្របន្ថែមទៅការប្រកាសអារេ ហើយប្រើសន្ទស្សន៍បន្ថែមដើម្បីយោងធាតុនៃអារេនេះ។

ការប្រកាសអារេនៅក្នុង Excel Visual Basic

កាលពីដើមនៅក្នុងអត្ថបទនេះ យើងបានមើលរួចហើយនូវឧទាហរណ៍មួយចំនួននៃការប្រកាសអារេនៅក្នុង VBA ប៉ុន្តែប្រធានបទនេះសមនឹងទទួលបានការពិនិត្យមើលកាន់តែជិត។ ដូចដែលបានបង្ហាញ អារេមួយវិមាត្រអាចត្រូវបានប្រកាសដូចនេះ៖

Dim Team_Members (1 ដល់ 20) ជា String

សេចក្តីប្រកាសបែបនេះប្រាប់អ្នកចងក្រង VBA ថាអារេ សមាជិក​ក្រុម មាន 20 variables ដែលអាចចូលប្រើបាននៅសន្ទស្សន៍ពី 1 ដល់ 20។ ទោះយ៉ាងណាក៏ដោយ យើងអាចគិតពីលេខរៀងអថេរអារេរបស់យើងពី 0 ដល់ 19 ក្នុងករណីនេះ អារេគួរតែត្រូវបានប្រកាសដូចនេះ៖

Dim Team_Members (0 ដល់ 19) ជា String

ជាការពិត តាមលំនាំដើម លេខរៀងនៃធាតុអារេចាប់ផ្តើមពី 0 ហើយនៅក្នុងការប្រកាសអារេ សន្ទស្សន៍ដំបូងអាចមិនបានបញ្ជាក់ទាល់តែសោះ ដូចជានេះ៖

Dim Team_Members(19) ជាខ្សែអក្សរ

កម្មវិធីចងក្រង VBA នឹងចាត់ទុកធាតុដូចជាការប្រកាសអារេនៃធាតុ 20 ដែលមានសន្ទស្សន៍ពី 0 ដល់ 19។

ច្បាប់ដូចគ្នាត្រូវបានអនុវត្តនៅពេលប្រកាសអារេ Visual Basic ពហុវិមាត្រ។ ដូចដែលបានបង្ហាញរួចហើយនៅក្នុងឧទាហរណ៍មួយ នៅពេលប្រកាសអារេពីរវិមាត្រ សន្ទស្សន៍នៃវិមាត្ររបស់វាត្រូវបានបំបែកដោយសញ្ញាក្បៀស៖

Dim Jan_Sales_Figures(1 ដល់ 31, 1 ដល់ 5) ជារូបិយប័ណ្ណ

ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកមិនបញ្ជាក់សន្ទស្សន៍ចាប់ផ្តើមសម្រាប់វិមាត្រទាំងពីរនៃអារេ ហើយប្រកាសវាដូចនេះ៖

Dim Jan_Sales_Figures(31, 5) ជារូបិយប័ណ្ណ

បន្ទាប់មកធាតុនេះនឹងត្រូវបានចាត់ទុកជាអារេពីរវិមាត្រ វិមាត្រទីមួយមានធាតុ 32 ដែលមានសន្ទស្សន៍ពី 0 ដល់ 31 និងវិមាត្រទីពីរនៃអារេមានធាតុ 6 ដែលមានសន្ទស្សន៍ពី 0 ដល់ 5 ។

អារេថាមវន្ត

អារេទាំងអស់នៅក្នុងឧទាហរណ៍ខាងលើមានចំនួនវិមាត្រថេរ។ ទោះយ៉ាងណាក៏ដោយ ក្នុងករណីជាច្រើន យើងមិនដឹងជាមុនថាតើអារេរបស់យើងគួរមានទំហំប៉ុនណា។ យើង​អាច​ចេញ​ពី​ស្ថានការណ៍​ដោយ​ប្រកាស​អារេ​ដ៏ធំ​ដែល​ទំហំ​ដែល​នឹង​ធំ​ជាង​ការ​ចាំបាច់​សម្រាប់​កិច្ចការ​របស់​យើង។ ប៉ុន្តែដំណោះស្រាយបែបនេះនឹងត្រូវការអង្គចងចាំបន្ថែមច្រើន ហើយអាចធ្វើឱ្យកម្មវិធីថយចុះ។ មានដំណោះស្រាយល្អជាង។ យើង​អាច​ប្រើ​អារេ​ថាមវន្ត – នេះ​គឺ​ជា​អារេ​ដែល​ទំហំ​របស់​វា​អាច​ត្រូវ​បាន​កំណត់ និង​ផ្លាស់​ប្តូរ​ចំនួន​ដង​ក្នុង​ពេល​ប្រតិបត្តិ​ម៉ាក្រូ។

អារេថាមវន្តត្រូវបានប្រកាសដោយវង់ក្រចកទទេដូចនេះ៖

Dim Team_Members() ជា String

បន្ទាប់មក អ្នកនឹងត្រូវប្រកាសវិមាត្រនៃអារេ កំឡុងពេលប្រតិបត្តិកូដដោយប្រើកន្សោម រីឌីម:

ReDim Team_Members (1 ដល់ 20)

ហើយប្រសិនបើក្នុងអំឡុងពេលប្រតិបត្តិកូដ អ្នកត្រូវផ្លាស់ប្តូរទំហំនៃអារេម្តងទៀត នោះអ្នកអាចប្រើកន្សោម ReDim ម្តងទៀត៖

ប្រសិនបើ Team_Size > 20 បន្ទាប់មក ReDim Team_Members (1 To Team_Size) បញ្ចប់ប្រសិនបើ

សូមចងចាំថាការផ្លាស់ប្តូរទំហំអារេថាមវន្តតាមវិធីនេះនឹងបណ្តាលឱ្យបាត់បង់តម្លៃទាំងអស់ដែលផ្ទុកក្នុងអារេ។ ដើម្បីរក្សាទុកទិន្នន័យរួចហើយនៅក្នុងអារេ អ្នកត្រូវប្រើពាក្យគន្លឹះ អភិរក្ស។ដូចបានបង្ហាញខាងក្រោមនេះ:

ប្រសិនបើ Team_Size > 20 បន្ទាប់មក ReDim Preserve Team_Members (1 To Team_Size) បញ្ចប់ប្រសិនបើ

ជាអកុសលពាក្យគន្លឹះ អភិរក្ស។ អាច​ត្រូវ​បាន​ប្រើ​តែ​ដើម្បី​ផ្លាស់​ប្តូ​រ​ព្រំដែន​ខាង​លើ​នៃ​វិមាត្រ​អារេ​មួយ​។ ព្រំដែនទាបនៃអារេមិនអាចផ្លាស់ប្តូរតាមវិធីនេះបានទេ។ ដូចគ្នានេះផងដែរប្រសិនបើអារេមានវិមាត្រច្រើនបន្ទាប់មកប្រើពាក្យគន្លឹះ អភិរក្ស។មានតែវិមាត្រចុងក្រោយនៃអារេប៉ុណ្ណោះដែលអាចប្តូរទំហំបាន។

សូមផ្ដល់យោបល់