មេរៀនទី១០: Excel Visual Basic

មេរៀនទី១០: Excel Visual Basic

បង្រៀនដោយលោកគ្រូ: ទាវ ឈុនណន
ព្រឹទ្ធបរុស មហាវិទ្យាល័យ វិទ្យាសាស្រ្ត និង បច្ចេកវិទ្យា
នៃ សាកលវិទ្យាល័យកម្ពុជា
Tel: 077778647-070778647-0977778647
Yahoo, Skype, google: chhunnan

មានមធ្យោបាយពីរ បីដើម្បីបើក VBA Editor ក្នុង Excel ពីក្នុង Developer tab, លើ Code panel, លោកអ្នកអាចចុចប៊ូតុង Visual Basic លើ Controls panel នៃ Developer tab, លោកអ្នកអាច View Code ប្រើ keyboard shortcut ចុច left ALT key ហើយនិង F11 key។
Excel 2013មានបញ្ហាពីរ បីកត់ចំណាំ អំពី editor ដំបូងតំបន់ លើខាងឆ្វេងដៃដែលហៅថា Project – VBA Project។ ក្នុងតំបន់ទាំងអស់នៃ object ដែលជា project របស់អ្នក នៅមាន។ ដោយប្រើ default មានបី Sheet objects: Sheet1, Sheet2 និង Sheet3 (Excel 2013 មាន 1 worksheet តែមួយដោយប្រើ default, លោកអ្នកឃើញ Sheet1)។ object ទីបីគឺហៅថា Workbook ដែល workbook ជាកន្លែងសម្រាប់ macros។ មាន items ដោយឡែកសម្រាប់ worksheet នីមួយៗ។ object ផ្សេងទៀតមិនឃើញលើ ត្រូវបានហៅថា Personal Macro Workbook។ workbook នេះនឹងបង្ហាញ record macro។ Personal Workbook អាចប្រើដើម្បីផ្ទុក macros។ ដើម្បីបើក កូដចុចពីរដងលើ object លើខាងឆ្វេងដៃរបស់អ្នក។ ចុចពីរដងលើ Sheet1 object នឹងឃើញដូចនេះ:
Excel 2013Macros ទាំងអស់នឹងសរសេរ ត្រូវការវាយបញ្ចូល លើអេក្រង់។ ចុចពីរដងលើ Sheet1 សរសេរកូដ code នឹងមាន worksheet ហៅថា Sheet1 ប្រសិនបន្ថែមកូដ code ទៅ Sheet2 វានឹងរត់នៅក្នុង worksheet ហៅថា Sheet2។ ផ្តល់អោយលោកអ្នក VBA code ដូចខាងក្រោមសម្រាប់ Sheet1:

Sub HelloWord()
MsgBox “Hello VBA World!”
End Sub

សន្លឹកសរសេរកូដក្នុងកម្មវិធីដូចខាងក្រោម:
Excel 2013Sub នៅពេលចាប់ផ្តើមកូដ code គឺជាពាក្ស Subroutine។  ហើយ End Sub ដើម្បីបង្ហាញកន្លែង កូដ code បញ្ចប់ (អ្វីដែលលោកអ្នកត្រូវចងចាំ លោកអ្នកវាបន្ទាត់ដំបូងបញ្ចូល Enter key VBA បន្ថែម End Sub សម្រាប់វាផ្ទាល់)។ Sub ត្រូវការឈ្មោះ ខាងក្រោមដែលមាន វងក្រចកគូរ បិទបើក។ មាន Space មួយរវាង Sub និងឈ្មោះ។ ក្នុងរវាង Sub និង End Sub ជាកន្លែងលោកអ្នក បន្ថែមកូដ code សម្រាប់ macro របស់អ្នក។ លោកអ្នកអាចមានលក្ខណ:ពិសេសដូចជាឈ្មោះ សម្រាប់  Subroutines របស់អ្នក។ ប្រសិនបើផ្តល់ឈ្មោះ Sub ជា Colin, ឧទាហរណ៍ ឈ្មោះ HelloWorld អធិប្បាយកូដ code នឹងធ្វើ ហើយ Subroutines មិនអាចមិនផ្ទុក spaces, ប៉ុន្តែលោកអ្នកអាចវាជា underscore បាន:

Sub Hello_World()
But this is not:
Sub Hello World()

ចំណាំខាងក្រោម កាលណា ជាមួយឈ្មោះ សម្រាប់ Subroutines:

  • វាមិនអាចចាប់ផ្តើមជាមួយលេខ number, គ្រាន់តែជាអក្សរ alphabetical character។
  • លោកអ្នកមិនអាចមានសញ្ញាខ័ណ្ឌ full stops ក្នុងវា។
  • លោកអ្នកមិនអាចប្រើអក្សរ ជា: #, $, %, &, !

កូដបន្ថេម code, វាគឺរត់ដំណើរការ code ដែលមាន toolbar នៅខាងលើ editor។ ទីតាំង ចុចលើសញ្ញាត្រីកោណបៃតង:
Excel 2013មធ្យោបាយផ្សេងទៀត រត់កូដ code គឺចុចលើ Run menu ពី Run menu, ជ្រើសរើស Run Sub/User Form
Excel 2013shortcut ដើម្បីរត់កូដ code គឺចុចលើ F5 key លើ keyboard។ លោកអ្នកនឹងឃើញកូដ:
Excel 2013MsgBox ប្រើសម្រាប់ ប្រអប់សារ Message Box។