UserForm គឺជាមុខងារមួយនៅក្នុងកម្មវិធី Microsoft Excel ដែលជា Form មួយមានលក្ខណៈពិសេសសម្រាប់លោកអ្នកយកវាមកប្រើក្នុងការកំណត់សរសេរ កូដដើម្បីបញ្ចូលទិន្នន័យទៅតាម record នីមួយៗនៅក្នុង Worksheet។
ដើម្បីឱ្យនិងដឹងពីសារសំខាន់នៃការប្រើ UserForm ខាងក្រោមនេះយើងខ្ញុំនឹងលើកយកឧទាហរណ៍ពីការប្រើប្រាស់និងការ បង្កើត Form ដោយខ្លួនឯងដែលជាជំហានដំបូងដែលអ្នកត្រូវការ។
I បង្កើតExcel UserForm
១.បើកកម្មវិធី Ms.Excel បន្ទាប់មកលោកអ្នកចុចលើ Key “Alt +F11”។
២.ចុចលើ View > Project Explorer ដើម្បីមើលនូវតារាងនៃ Projects ដែលជាទូទៅវាស្ថិតនៃផ្នែកខាងឆ្វេងដៃនៃ VBE Window។
៣.ក្នុង Project Explorer ជ្រើសរើសយកឈ្មោះ Project របស់អ្នក។
៤.ពីម៉ឺនុយបារចុចលើ Insert > UserForm។
៥.UserForm វានឹងបង្ហាញដល់អ្នកហើយ ToolBox វាក៏បង្ហាញដែរប៉ុន្តែក្នុងករណី ToolBox វាអត់បង្ហាញលោកអ្នកចុចលើ Insert > Toolbox។
II ដាក់ឈ្មោះឱ្យ UserForm
១.ចុចលើ Key “F4” ដើម្បីបើក Properties Window។
២.ក្នុង Properties Window ចុចពីរដងលើ UserForm1ផ្នែកខាងលើខាងស្ដាំនៃ Window។
៣.វាយឈ្មោះថា frmPartData រួចចុច Enter Key។
៤.បន្ទាប់មកឈ្មោះដែលអ្នកបានដាក់នោះនឹងបង្ហាញនៅក្នុង Project Explorer ប៉ុន្តែ Form នៅតែបង្ហាញ UserForm1 ត្រង់ចំណងជើងខាងលើដដែល។
៥.នៅក្នុង Properties Window សូមចុចពីរដងនៅត្រង Caption property នៃ UserForm1។
៦.សូមវាយចំណងជើងដាក់ថា៖ Parts Inventory រួចចុច Enter ។
៧.ចំណងជើងនឹងបង្ហាញនៅក្នុង Caption ថ្មីនោះ។
III បញ្ចូល Textbox ដាក់លើ Excel UserForm
Objects ដែលត្រូវដាក់លើ UserForm មានដូចជាប៊ូតុងសម្រាប់ចុចឱ្យសកម្មភាពនិង textboxes ទាំងអស់នោះដែលគេហៅថា Controls។ដើម្បីអនុញ្ញាតឱ្យអ្នកប្រើឬ Users អាចបញ្ចូលទិន្នន័យបានហើយលោកអ្នកអាចបញ្ចូល textbox control ទៅលើ Form ដោយប្រើ Label controls ធ្វើការពិពណ៌នាលើមុខងារនីមួយរបស់វា។
១.នៅក្នុង Toolbox សូមចុចលើ TextBox ប៊ូតុង។
២.នៅលើ UserForm អ្នកចុចលើ textbox ដើម្បីបញ្ចូលវាទៅលើ UserForm។
៣.ឈរលើ textbox នោះរួចចុចពីរដងលើ Name Properties នៅក្នុង Properties window ដោយដាក់ឈ្មោះថា txtPartបន្ទាប់មកចុច Enter ។
៤.ចុចលើទីតាំងទំនេរនៃ UserForm ដើម្បីឱ្យ UserForm ដំណើរការ textbox ដែលអ្នកបានបញ្ចូលនោះ។
IV បញ្ចូលមុខងារ Label ដាក់លើ Excel UserForm
១.នៅក្នុង Toolbox ចុចលើ Label ប៊ូតុងបន្ទាប់មកគូរដាក់លើ UserForm។
២.ដាក់ឈ្មោះឱ្យ Label នោះដោយចុចលើ Caption property នៅក្នុង Property window ដោយដាក់ឈ្មោះថា Part រួចចុច Enter ។
Vបញ្ចូលមុខងារទាំង៤លើUserForm
នេះជាការបញ្ចូលឡើងវិញទាំងអស់នៃមុខងារដែលអ្នកត្រូវប្រើលើ Form មាន។
-textbox ឈ្មោះ txtID ជាមួយ Label ID
-textbox ឈ្មោះ txtLoc ជាមួយ Label Location
-textbox ឈ្មោះ txtDate ជាមួយ Label Date
-textbox ឈ្មោះ txtQty ជាមួយ Label Quantity
VI បញ្ចូលប៊ូតុងដើម្បីកំណត់សកម្មភាពលើ Form
ដើម្បីអនុញ្ញាតឱ្យ Users ទាំងអស់មានសកម្មភាពអ្វីមួយលើ UserForm នោះលោកអ្នកអាចបញ្ចូល commandButton លើវា។ដោយយើងចង់បង្ហាញលោកអ្នកនូវសកម្មភាពពីរដែលមាននៅលើ UserForm នេះទី១គឺប៊ូតុងបញ្ចូលទិន្នន័យនិងទី២គឺប៊ូតុងសម្រាប់បិទ Form។
-ប៊ូតុង Add this partត្រងCaption និងត្រង់ Property Name មានឈ្មោះថាcmdAddសម្រាប់បញ្ចូលទិន្នន័យចូលក្នុង Database ពី UserForm ហើយប៊ូតុង Close form មានឈ្មោះថាcmdcloseសម្រាប់បិទForm ដោយលោកអ្នកអនុវត្តតាមការកំណត់ texbox & label ខាងលើ។
VII បញ្ចូលកូដលើប៊ូតុងដើម្បីបញ្ជា Form
ដើម្បីឱ្យ Excel UserForm ប៊ូតុងមានសកម្មភាពអ្វីមួយលោកអ្នកត្រូវតែបញ្ចូលកូដហើយកូដនោះ លោកអ្នកអាចបញ្ចូលវាឱ្យដំណើរការនូវពេលអ្នកចុចលើប៊ូតុងណាមួយ។ជា ដំបូងយើងខ្ញុំធ្វើការបញ្ចូលកូដសម្រាប់ប៊ូតុង cmdAdd។
១.ឈរឬ Select លើប៊ូតុង cmdAdd។
២.បើកម៉ឺនុយបារ> ជ្រើសរើសយក View|Code។
៣.ចំណុចនេះអ្នកអាចធ្វើការជ្រើសរើសយកProcedureនូវទីតាំងណាមួយដែលលោកអ្នកអាចបញ្ចូលកូដបាន។
៤.ដាក់ Cursor នៅចំណុចណាមួយដោយបញ្ចូលកូដដូចខាងក្រោមនេះ។
Option Explicit
————————————————
Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets(“PartsData”)
‘\\ PartsDataជាសន្លឹកការងារដែលអ្នកត្រូវកត់ត្រាទិន្នន័យដែលបានបញ្ចូលពី Form។
‘\\ iRow=ws.cells…. កំណត់ឱ្យទិន្នន័យបញ្ចូលទៅតាមជួរនីមួយៗដោយចាប់ពីជួរឬ Row ទី២ទៅ។
iRow = ws.Cells.Find(What:=”*”, SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
‘\\ ពិនិត្យមើលតម្លៃមានឬអត់ពេលអ្នកចុចលើប៊ូតុង Add this Part។
If Trim(Me.txtPart.Value) = “” Then
Me.txtPart.SetFocus
MsgBox “Please enter a part number”
Exit Sub
End If
‘\\ចម្លងទិន្នន័យពី Form ទៅដាក់ក្នុង Database។
ws.Cells(iRow, 1).Value = Me.txtPart.Value
ws.Cells(iRow, 2).Value = Me.txtLoc.Value
ws.Cells(iRow, 3).Value = Me.txtDate.Value
ws.Cells(iRow, 4).Value = Me.txtQty.Value
‘\\លុបទិន្នន័យចេញពី Textbox បន្ទាប់ពីអ្នកបាន Add រួច។
Me.txtPart.Value = “”
Me.txtLoc.Value = “”
Me.txtDate.Value = “”
Me.txtQty.Value = “”
Me.txtPart.SetFocus
End Sub
————————————————-
‘\\បិទ Form ពេលលោកអ្នកចុចលើប៊ូតុង Close form។
Private Sub cmdClose_Click()
Unload Me
End Sub
‘\\ពេលអ្នកចុចលើសញ្ញាខ្វែងដើម្បីបិទ Form យើងចង់ឱ្យលោកអ្នកប្រើប៊ូតុងដើម្បីបិទ។
—————————————————
Private Sub UserForm_QueryClose(Cancel As Integer, _
CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox “Please use the button!”
End If
End Sub
ក្រោយពីបានអនុវត្តតាមជំហាននីមួយៗខាងលើរួចលោកអ្នកសាកល្បង ដំណើរការកម្មវិធីលោកអ្នកនឹងទទួលបានទម្រង់និងលទ្ធផលដូចខាងក្រោម។
បញ្ជាក់៖មុខនឹងចាប់ផ្ដើមបញ្ចូលទិន្នន័យលោកអ្នកត្រូវតែដាក់ ចំណងជើងលើសន្លឹកដែលរក្សា Database ជាមុនសិនពីព្រោះយើងបញ្ចូលទិន្នន័យចាប់ពី Rowទី២ទៅបើមិនដូច្នេះទេវានឹងមិនដំណើរការទេ៕
Post a Comment