អារេនៅក្នុង 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) បញ្ចប់ប្រសិនបើ
ជាអកុសលពាក្យគន្លឹះ អភិរក្ស។ អាចត្រូវបានប្រើតែដើម្បីផ្លាស់ប្តូរព្រំដែនខាងលើនៃវិមាត្រអារេមួយ។ ព្រំដែនទាបនៃអារេមិនអាចផ្លាស់ប្តូរតាមវិធីនេះបានទេ។ ដូចគ្នានេះផងដែរប្រសិនបើអារេមានវិមាត្រច្រើនបន្ទាប់មកប្រើពាក្យគន្លឹះ អភិរក្ស។មានតែវិមាត្រចុងក្រោយនៃអារេប៉ុណ្ណោះដែលអាចប្តូរទំហំបាន។