អាយធីខ្មែរស៊ែរ : itkhmershare.blogspot.com

បង្កើត Excel UserForm ដើម្បី​បញ្ចូល​ទិន្នន័យ​ទៅ​ក្នុង​តារាង​នៃ Excel 2007

Wednesday, December 26, 20120 comments



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​ទី​២​ទៅ​បើ​មិន​ដូច្នេះ​ទេ​វា​នឹង​មិន​ដំណើរការ​ទេ៕

Share this article :

Post a Comment