Add the Controls
Untuk menambahkan kontrol ke UserForm, jalankan langkah-langkah berikut.
1. Buka Visual Basic Editor. Jika Project Explorer tidak terlihat, klik View, Project Explorer.
2. Klik Insert, UserForm. Jika Toolbox tidak muncul secara otomatis, klik View, Toolbox. Layar Anda harus terlihat sebagai berikut.
3. Tambahkan kontrol yang tercantum dalam tabel di bawah ini. Setelah ini telah selesai, hasilnya harus konsisten dengan gambar UserForm ditampilkan sebelumnya. Misalnya, membuat teks kotak kontrol dengan mengklik TextBox dari Toolbox. Berikutnya, Anda dapat drag teks box pada UserForm. Ketika Anda tiba di Car frame, ingatlah untuk menggambar frame ini terlebih dahulu sebelum Anda menempatkan dua option buttons di dalamnya.
4. Ubah names dan captions dari controls sesuai dengan tabel di bawah. Nama yang digunakan dalam kode VBA Excel. Captions yaitu yang muncul di layar Anda. Ini adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah dibaca. Untuk mengubah name dan captions dari kontrol, klik View, Properties Window dan klik pada setiap kontrol.
Control | Name | Caption |
---|---|---|
Userform | DinnerPlannerUserForm | Dinner Planner |
Text Box | NameTextBox | |
Text Box | PhoneTextBox | |
List Box | CityListBox | |
Combo Box | DinnerComboBox | |
Check Box | DateCheckBox1 | June 13th |
Check Box | DateCheckBox2 | June 20th |
Check Box | DateCheckBox3 | June 27th |
Frame | CarFrame | Car |
Option Button | CarOptionButton1 | Yes |
Option Button | CarOptionButton2 | No |
Text Box | MoneyTextBox | |
Spin Button | MoneySpinButton | |
Command Button | OKButton | OK |
Command Button | ClearButton | Clear |
Command Button | CancelButton | Cancel |
7 Labels | No need to change | Name:, Phone Number:, etc. |
Catatan: combo box adalah daftar drop-down di mana pengguna dapat memilih item atau mengisi / pilihannya sendiri. Hanya salah satu option buttons dapat dipilih.
Show the Userform
Untuk menampilkan UserForm, menempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:
Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub
Kita sekarang akan membuat Sub UserForm_Initialize. Bila Anda menggunakan Show metode untuk UserForm, sub ini secara otomatis akan dieksekusi.
1. Buka Visual Basic Editor.
2. Dalam Project Explorer, klik kanan pada DinnerPlannerUserForm dan kemudian klik View Code.
3. Pilih UserForm dari list drop-down kiri. Pilih Inisialisasi dari daftar drop-down yang tepat.
4. Tambahkan baris kode berikut:
1. Buka Visual Basic Editor.
2. Dalam Project Explorer, klik kanan pada DinnerPlannerUserForm dan kemudian klik View Code.
3. Pilih UserForm dari list drop-down kiri. Pilih Inisialisasi dari daftar drop-down yang tepat.
4. Tambahkan baris kode berikut:
Private Sub UserForm_Initialize() 'Empty NameTextBox NameTextBox.Value = "" 'Empty PhoneTextBox PhoneTextBox.Value = "" 'Empty CityListBox CityListBox.Clear 'Fill CityListBox With CityListBox .AddItem "San Francisco" .AddItem "Oakland" .AddItem "Richmond" End With 'Empty DinnerComboBox DinnerComboBox.Clear 'Fill DinnerComboBox With DinnerComboBox .AddItem "Italian" .AddItem "Chinese" .AddItem "Frites and Meat" End With 'Uncheck DataCheckBoxes DateCheckBox1.Value = False DateCheckBox2.Value = False DateCheckBox3.Value = False 'Set no car as default CarOptionButton2.Value = True 'Empty MoneyTextBox MoneyTextBox.Value = "" 'Set Focus on NameTextBox NameTextBox.SetFocus End Sub
Penjelasan: text boxes dikosongkan, list boxes dan combo boxes diisi, check boxes yang dicentang, dll
Assign the Macros
Kami sekarang telah menciptakan bagian pertama dari UserForm. Meskipun terlihat sudah rapi, namun ketika kita klik tombol perintah pada UserForm, program belum bisa jalan.
1. Buka Visual Basic Editor.
2. Dalam Project Explorer, double klik kali pada DinnerPlannerUserForm.
3. Double klik pada tombol Money spin.
4. Tambahkan baris kode berikut:
Private Sub MoneySpinButton_Change() MoneyTextBox.Text = MoneySpinButton.Value End Sub
Penjelasan: baris kode ini update text box saat Anda menggunakan tombol spin.
5. Double klik pada tombol OK.
6. Tambahkan baris kode berikut:
Private Sub OKButton_Click() Dim emptyRow As Long 'Make Sheet1 active Sheet1.Activate 'Determine emptyRow emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1 'Transfer information Cells(emptyRow, 1).Value = NameTextBox.Value Cells(emptyRow, 2).Value = PhoneTextBox.Value Cells(emptyRow, 3).Value = CityListBox.Value Cells(emptyRow, 4).Value = DinnerComboBox.Value If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption If CarOptionButton1.Value = True Then Cells(emptyRow, 6).Value = "Yes" Else Cells(emptyRow, 6).Value = "No" End If Cells(emptyRow, 7).Value = MoneyTextBox.Value End Sub
Penjelasan: pertama, kita mengaktifkan Sheet1. Berikutnya, kita menentukan emptyRow. Variabel emptyRow adalah baris pertama yang kosong dan menambahkan setiap kali sebuah record ditambahkan. Akhirnya, kita mentransfer informasi dari UserForm ke kolom tertentu dari emptyRow.
7. Double klik pada tombol Clear.
8. Tambahkan baris kode berikut:Penjelasan: baris kode ini menut
Private Sub ClearButton_Click() Call UserForm_Initialize End Sub
Penjelasan: baris kode ini memanggil Sub UserForm_Initialize ketika Anda klik pada tombol Clear.
9. Klik dua kali pada Batal Button.
10. Tambahkan baris kode berikut:
Private Sub CancelButton_Click() Unload Me End Sub
UserForm keluar ketika Anda klik pada tombol Cancel.
Test the Userform
hasil:
Sumber: excel-easy.com
0 komentar:
Posting Komentar