Cara menggunakan Visual Basic for Applications (VBA) untuk mengubah UserForms dalam ExcelID Artikel: 829070 - Melihat produk di mana artikel ini berlaku.
Peringatan: artikel ini adalah terjemahan oleh mesinKlik disini untuk menampilkan sumber Inggris dan terjemahan oleh mesin secara
berdampinganPerbesar semua | Perkecil semua
Pada Halaman iniRINGKASAN
Artikel ini menjelaskan cara mengubah UserForms pemrograman di Microsoft Excel. Mencakup contoh dan Microsoft Visual Basic untuk macro Applications (VBA) yang menunjukkan kepada Anda bagaimana untuk mengambil keuntungan dari kemampuan UserForms dan bagaimana menggunakan kontrol ActiveX ™ yang tersedia untuk UserForms.
Pengenalan prinsip-prinsip dasar UserForms menjelaskan bagaimana menampilkan UserForms, bagaimana untuk menyembunyikan sementara UserForms, dan bagaimana untuk mengabaikan UserForms. Anda juga ditunjukkan bagaimana menggunakan peristiwa-peristiwa yang paling umum yang terkait dengan UserForms — menginisialisasi acara, acara Klikdan Hentikan acara. Satu atau lebih dari contoh berikut menunjukkan cara menggunakan setiap kontrol ActiveX ™ berikut di UserForm:
Label kontrol Kontrol TextBox Control CommandButton ke atas ListBox DNS Kontrol ComboBox Kontrol frame Kontrol OptionButton Kotak centang kontrol Kontrol ToggleButton Kontrol TabStrip Kontrol multiPage Kontrol ScrollBar Kontrol SpinButton RefEdit kontrol Gambar kontrol
Kembali ke atas | Berikan Masukan
PENGENALANArtikel ini menjelaskan cara menggunakan VBA untuk membuat perubahan dalam UserForms dalam Excel.
Kembali ke atas | Berikan Masukan
INFORMASI LEBIH LANJUTMicrosoft menyediakan pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat. Ini mencakup, namun tidak terbatas pada, jaminan tersirat dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan bahasa pemrogaman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan memperbaiki prosedur. Teknisi Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, tetapi mereka tidak akan mengubah contoh tersebut untuk menyediakan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus.
Dasar-dasar UserForm
Cara menampilkan UserForm
Sintaks yang digunakan untuk menampilkan UserForm pemrograman adalah sebagai berikut:UserFormName.TampilkanUntuk menampilkan UserForm yang bernama UserForm1, gunakan kode berikut:UserForm1.Show
Anda dapat memuat UserForm ke memori tanpa benar-benar menampilkan itu. Mungkin diperlukan UserForm kompleks beberapa detik untuk muncul. Karena Anda dapat preload UserForm ke memori, Anda dapat memutuskan kapan harus dikenakan overhead ini. Untuk memuat UserForm1 ke dalam memori tanpa menampilkan itu, gunakan kode berikut:Load UserForm1
Untuk menampilkan UserForm, Anda harus menggunakan metode Tampilkan yang sebelumnya ditunjukkan.
Cara Sembunyikan untuk sementara UserForm
Jika Anda ingin menyembunyikan sementara UserForm, gunakan metode yang menyembunyikan . Anda mungkin ingin menyembunyikan UserForm jika aplikasi Anda melibatkan bergerak antara UserForms. Untuk menyembunyikan UserForm, gunakan kode berikut:UserForm1.Hide
Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:213747 XL2000: Bagaimana untuk beralih antara kustom UserForms dengan tombol perintah
Bagaimana menghapus UserForm dari memori
Untuk menghapus UserForm dari memori, menggunakan pernyataan membongkar . Untuk membongkar UserForm yang bernama UserForm1, gunakan kode berikut:Unload UserForm1
Jika Anda membongkar UserForm di acara prosedur yang dikaitkan dengan UserForm atau itulah dikaitkan dengan kontrol pada UserForm (misalnya, mengklik control CommandButton ke atas ), Anda dapat menggunakan kata kunci "Me" bukan nama UserForm. Untuk menggunakan "Me" kata kunci untuk membongkar UserForm, gunakan kode berikut:Unload Me
Bagaimana menggunakan peristiwa-peristiwa UserForm
UserForms mendukung banyak peristiwa standar yang Anda dapat melampirkan prosedur VBA untuk. Ketika peristiwa terjadi, menjalankan prosedur yang Anda terpasang ke acara. Tindakan yang dilakukan oleh pengguna dapat memulai beberapa kegiatan. Di antara yang paling sering digunakan peristiwa untuk UserForm adalah acara menginisialisasi , acara Klik danHentikan acara.
Catatan Modul Visual Basic yang berisi acara prosedur dapat disebut sebagai modul "di belakang" UserForm. Modul yang berisi acara prosedur tidak terlihat dalam koleksi modul proyek Microsoft Explorer jendela Editor Visual Basic. Anda harus klik dua kali tubuh UserForm untuk melihat kode UserForm modul.
Bagaimana untuk menjebak UserForm peristiwa
Untuk menjebak UserForm peristiwa, ikuti langkah berikut:1. Buat buku kerja baru di Excel.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Klik dua kali UserForm untuk menampilkan jendela kode untuk
UserForm.5. Dalam modul, ketik kode berikut:6. Private Sub UserForm_Click()7.8. Me.Height = Int(Rnd * 500)9. Me.Width = Int(Rnd * 750)10.11. End Sub12.13. Private Sub UserForm_Initialize()14.15. Me.Caption = "Events Events Events!"16. Me.BackColor = RGB(10, 25, 100)17.18. End Sub19.
20. Private Sub UserForm_Resize()21.22. msg = "Width: " & Me.Width & Chr(10) & "Height: " &
Me.Height23. MsgBox prompt:=msg, Title:="Resize Event"24.25. End Sub26.27.28. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode
As Integer)29.30. msg = "Now Unloading " & Me.Caption31. MsgBox prompt:=msg, Title:="QueryClose Event"32.33. End Sub34.35. Private Sub UserForm_Terminate()36.37. msg = "Now Unloading " & Me.Caption38. MsgBox prompt:=msg, Title:="Terminate Event"39.
End Sub
40.Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika UserForm pertama yang dimuat, makro menggunakan menginisialisasi acara untuk mengubah properti CaptionUserForm untuk "Peristiwa Events Events!" dan properti BackColor untuk biru gelap.
Ketika Anda klik UserForm, Anda memulai acara Klik . Acara Klik mengubah ukuran UserForm. Karena Anda menciptakan sebuah prosedur untuk mengubah ukuran acara, Anda menerima dua kotak pesan setelah Anda klik UserForm. Mengubah ukuran acara terjadi dua kali karena kode di belakang acara Klik perubahan properti lebar dan tinggi milik UserForm.
Menutup UserForm memulai acara QueryClose . Acara QueryClose menampilkan kotak pesan yang berisi keterangan yang Anda berikan UserForm dalam kode untuk menginisialisasi acara. Anda dapat menggunakan acara QueryClose bila Anda ingin melakukan serangkaian tindakan tertentu jika pengguna menutup UserForm.
Hentikan acara kemudian menghasilkan sebuah kotak pesan yang menyatakan bahwa keterangan UserForm adalah UserForm1. Hentikan peristiwa terjadi setelah UserForm akan dihapus dari memori dan caption UserForm kembali ke keadaan semula.
Bagaimana mencegah UserForm ditutup dengan menggunakan tombol tutup
Ketika Anda menjalankan UserForm, tombol Tutup ditambahkan ke sudut kanan atas jendela UserForm. Jika Anda ingin mencegah UserForm ditutup dengan menggunakan tombol Tutup , Anda harus perangkap QueryClose acara.
QueryClose peristiwa terjadi tepat sebelum UserForm diturunkan dari kehabisan memori. Menggunakan argumen CloseModeacara QueryClose untuk menentukan bagaimana UserForm ditutup. Nilai vbFormControlMenu untuk argumen CloseModemenunjukkan bahwa Tutuptombol tekan diklik. Untuk menjaga UserForm aktif, atur argumen membatalkan acara QueryCloseke True. Menggunakan peristiwa QueryClose untuk mencegah UserForm ditutup dengan menggunakan Tutup tombol tekan, ikuti langkah berikut:
1. Buat buku kerja baru di Excel.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol CommandButton UserForm.5. klik ganda UserForm untuk menampilkan Jendela kode untuk
UserForm.6. Dalam jendela kode, ketik kode berikut:7. Private Sub CommandButton1_Click()8.9. Unload Me10.11. End Sub12.13. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode
As Integer)14.15. IF CloseMode = vbFormControlMenu Then16. Cancel = True17. Me.Caption = "Click the CommandButton to close Me!"18. End If19.
End Sub
20.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.UserForm tidak tertutup ketika Anda mengklik Tutup tombol tekan. Anda harus meng-klik CommandButton kontrol untuk menutup UserForm.
Untuk informasi tambahan, klik nomor artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:207714XL2000: run-time kesalahan menggunakan UserForms koleksi211527 XL2000: Tidak dapat menyeret UserForm kontrol ke lembar kerja211868 XL2000: Kesalahan menjalankan makro yang memasukkan kontrol ke UserForm213582 XL2000: Masalah ketika Anda menggunakan makro untuk menambahkan kontrol UserForm213583 XL2000: Tidak dapat menunjukkan UserForms dalam proyek-proyek lain213736 XL2000: Cara menentukan tombol tekan ditekan bersama dengan tombol tekan gulir dengan mouse213744 XL2000: Bagaimana untuk sementara menyembunyikan UserForm213747 XL2000: Bagaimana untuk bergerak di antara kustom UserForms dengan tombol tekan perintah213749 XL2000: bagaimana untuk menggunakan UserForm untuk memasukkan data
213768 XL2000: Bagaimana untuk secara dinamis mengubah ukuran bentuk pengguna213774 XL2000: Cara membuat layar Startup dengan UserForm
VBA kode
Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
Catatan VBA kode yang disertakan dalam artikel ini tidak berisi contoh yang mempengaruhi semua properti dan Event untuk kontrol. Jika Anda perlu, Anda dapat menggunakan jendela Properties untuk melihat daftar properti yang tersedia untuk kontrol. Untuk melihat daftar properti, di Lihat menu, klik Properties Window.
Cara menggunakan mode desain untuk mengedit kontrol
Bila Anda menggunakan Editor Visual Basic untuk merancang sebuah kotak dialog, Anda menggunakan modus desain. Dalam moda desain, Anda dapat mengedit kontrol dan Anda dapat mengubah properti kontrol pada UserForm dalam jendela properti. Untuk menampilkan jendela Properties, diLihat menu, klik Properties Window.
Catatan Kontrol tidak menanggapi peristiwa saat Anda berada di modus desain. Ketika Anda menjalankan sebuah kotak dialog untuk menampilkan cara bahwa pengguna melihatnya, program dalam dijalankan modus. Perubahan yang Anda buat ke properti kontrol dalam jangka modus tidak dipertahankan ketika UserForm diturunkan dari kehabisan memori.
Catatan Kontrol menanggapi peristiwa dalam menjalankan mode.
Bagaimana mengacu kepada kontrol pada UserForm
Bagaimana Anda merujuk ke kontrol pemrograman tergantung pada jenis lembar modul Visual Basic di mana Anda menjalankan kode. Jika kode berjalan dari modul umum, sintaks adalah sebagai berikut:UserFormName.Controlname.Property = NilaiBagaimana Anda merujuk ke kontrol secara pemrograman tergantung pada jenis lembar modul Visual Basic yang mana Anda menjalankan kode. Jika kode berjalan dari modul umum, sintaks adalah sebagai berikut:UserForm1.TextBox1.Text = "Bob"
Apakah kode dalam prosedur yang dimulai oleh sebuah peristiwa kontrol atau dengan UserForm, Anda tidak harus merujuk pada nama UserForm. Sebaliknya, gunakan kode berikut:TextBox1.Text = "Bob"
Jika kode dalam prosedur yang dimulai oleh sebuah peristiwa kontrol atau oleh UserForm, Anda tidak harus merujuk pada nama UserForm. Sebaliknya, gunakan kode berikut:
Kontrol label
Kontrol label terutama digunakan untuk menggambarkan kontrol lain pada UserForm. Sebuah kontrol Label tidak diedit oleh pengguna sementara UserForm berjalan. Menggunakan properti Caption untuk mengatur atau kembali teks pada Labelkontrol. Properti lainnya sering digunakan untuk memformat sebuah kontrol Label meliputi properti Font dan ForeColorproperti.
Bagaimana menggunakan sebuah pernyataan dengan memformat sebuah kontrol Label
Untuk menggunakan dengan pernyataan untuk mengubah properti kontrol Label , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol Label UserForm.5. Menambah kontrol CommandButton UserForm.6. klik ganda CommandButton mengendalikan ke Buka jendela kode
untuk UserForm.7. Dalam jendela kode, ketik kode berikut untuk
acara CommandButton1 klik :8. Private Sub CommandButton1_Click()9.10. With Label111. ' Set the text of the label.12. .Caption = "This is Label Example 1"13. ' Automatically size the label control.14. .AutoSize = True15. .WordWrap = False16. ' Set the font used by the Label control.17. .Font.Name = "Times New Roman"18. .Font.Size = 1419. .Font.Bold = True20. ' Set the font color to blue.21. .ForeColor = RGB(0, 0, 255)22. End With23.
End Sub
24.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.25.Klik CommandButton.
Teks "Ini adalah Label contoh 1" muncul pada Label kontrol dalam huruf tebal kali baru Romawi dengan ukuran fon 14.
Kontrol TextBox
Item baru yang diketik di ComboBox kontrol ditambahkan ke daftar, dan daftar yang terikat kontrol ComboBox diperluas untuk mencakup sel A1:A6. .
Cara menggunakan kontrol TextBox untuk memvalidasi password
Jika Anda mengatur properti PasswordChar dari kontrol TextBox , menjadi kontrol "bertopeng-edit". Setiap karakter yang diketik di kontrol TextBox visual diganti dengan karakter yang Anda tentukan. Untuk menggunakan kontrol TextBox untuk memvalidasi sandi, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol TextBox untuk UserForm.5. Pada Lihat menu, klik Properti jendela properti agar terlihat.6. Dalam properti PasswordChar dari kontrol TextBox , ketik *.
Catatan Anda mengubah nilai ke asterisk.7. Tambahkan kontrol CommandButton untuk UserForm.8. Klik dua kali control CommandButton ke atas untuk membuka
jendela kode untuk UserForm.9. Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :10. Private Sub CommandButton1_Click()11.12. If TextBox1.Text <> "userform" Then13. MsgBox "Password is Incorrect. Please reenter."14. TextBox1.Text = ""15. TextBox1.SetFocus16. Else17. MsgBox "Welcome!"18. Unload Me19. End If20.21. End Sub22.
23.Menjalankan menu, klik Menjalankan Sub/UserForm.24.Ketik sandi userform kontrol TextBox . .25.Klik control CommandButton ke atas .
Untuk contoh ini, sandi adalah "userform". Jika Anda mengetik sandi salah, Anda akan menerima sebuah kotak pesan yang menyatakan bahwa sandi tidak benar, kontrol TextBox dibersihkan, dan kemudian Anda dapat ketik-ulang sandi. Ketika Anda mengetik sandi yang benar, Anda menerima pesan pembuka dan UserForm ditutup.
Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:213555 XL2000: Tidak ada Data validasi properti untuk UserForm textbox
Kontrol CommandButton
Anda dapat menggunakan control CommandButton ke atas untuk memulai prosedur VBA. Prosedur VBA biasanya melekat pada acara Klik Control CommandButton . Untuk menggunakan kontrol CommandButton yang menjalankan prosedur ketika acara Klik terjadi, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol CommandButton untuk UserForm.5. Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk UserForm.6. Dalam jendela kode, ketik kode berikut:7. Private Sub CommandButton1_Click()8.9. red = Int(Rnd * 255)10. green = Int(Rnd * 255)11. blue = Int(Rnd * 255)12. CommandButton1.BackColor = RGB(red, green, blue)13.
End Sub
14.Menjalankan menu, klik Menjalankan Sub/UserForm.Warna latar belakang kontrol CommandButton1 berubah setiap kali bahwa Anda klik.
Untuk informasi tambahan tentang CommandButton control, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:213572 XL2000: Mengklik tombol Batal tidak dapat mengabaikan UserForm213743 XL2000: Cara menetapkan tombol perintah default di UserForm
ListBox kontrol
Tujuan dari ListBox DNS adalah untuk menyajikan pengguna dengan daftar item untuk memilih dari. Anda dapat menyimpan daftar item untuk sebuah ListBox DNS pada lembar kerja Excel. Untuk mengisi sebuah ListBox DNS dengan kisaran sel pada lembar kerja, menggunakan properti RowSource . Ketika Anda menggunakan properti MultiSelect , Anda dapat mengatur sebuah ListBox DNS untuk menerima beberapa pilihan.
Cara mendapatkan item yang saat ini dipilih dari ListBox DNS
Menggunakan properti nilai dari sebuah ListBox DNS untuk mengembalikan item yang saat ini dipilih. Untuk mengembalikan item yang saat ini dipilih di pilih satu ListBox DNS, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ListBox DNS.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.
4. Masukkan menu, klik UserForm untuk memasukkan UserForm di buku kerja Anda.
5. Menambahkan sebuah ListBox DNS untuk UserForm.6. Klik dua kali ListBox DNS untuk menampilkan jendela kode
untuk ListBox DNS.7. Dalam jendela kode, ketik kode berikut untuk Klik ListBox1 acara: :8. Private Sub ListBox1_Click()9.10. MsgBox ListBox1.Value11.
End Sub
12.Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda mengklik item dalam daftar, kotak pesan muncul dengan item yang saat ini dipilih.
Cara mendapatkan item yang dipilih dalam beberapa pilih ListBox DNS
Untuk menentukan item yang dipilih dalam beberapa pilih ListBox DNS, Anda harus loop melalui semua item dalam daftar, dan kemudian permintaan properti dipilih . Kembali unsur terpilih saat ini di beberapa pilih ListBox DNS, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ListBox DNS.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Menambahkan sebuah ListBox DNS untuk UserForm.6. Pada Lihat menu, klik Properti untuk melihat jendela properti.7. Ketik nilai-nilai yang ditunjukkan untuk properti kontrol ListBox berikut:8. Property Value9. ----------- -----------------------10. MultiSelect 1 - frmMultiSelectMulti
RowSource Sheet1!A1:A8
11.Tambahkan kontrol CommandButton untuk UserForm.12.Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk UserForm.13.Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :14. Sub CommandButton1_Click ()15.16. ' Loop through the items in the ListBox.17. For x = 0 to ListBox1.ListCount - 118.19. ' If the item is selected...20. If ListBox1.Selected(x) = True Then21.22. ' display the Selected item.23. MsgBox ListBox1.List(x)
24. End If25. Next x26.
End Sub
27.Menjalankan menu, klik Menjalankan Sub/UserForm.28.Pilih satu atau beberapa item dalam daftar.29.Klik CommandButton1.
Setelah Anda klik CommandButton1, setiap item yang Anda pilih di ListBox DNS muncul di kotak pesan terpisah. Setelah semua unsur yang dipilih muncul di kotak pesan, UserForm otomatis ditutup.
Cara menggunakan properti RowSource untuk mengisi sebuah ListBox DNS dengan sel pada lembar kerja
Untuk menggunakan properti RowSource untuk mengisi sebuah ListBox DNS dari kisaran sel pada lembar kerja, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ListBox DNS.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Menambahkan sebuah ListBox DNS untuk UserForm.6. Tambahkan kontrol CommandButton untuk UserForm.7. Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk UserForm.8. Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :9. Private Sub CommandButton1_Click()10. ListBox1.RowSource = "=Sheet1!A1:A5"
End Sub
11.Menjalankan menu, klik Menjalankan Sub/UserForm.
CatatanListBox1 tidak berisi nilai-nilai apapun.12.Klik CommandButton1.
ListBox1 diisi dengan nilai-nilai dalam sel A1:A5 pada Sheet1.
Cara mengisi sebuah ListBox DNS dengan nilai-nilai dalam array
Contoh ini menunjukkan Anda bagaimana untuk mengisi sebuah ListBox DNS dengan variabel array. Anda harus menetapkan nilai-nilai dari array untuk ListBox kontrol satu item pada suatu waktu. Biasanya, proses ini mengharuskan Anda menggunakan struktur perulangan, seperti untuk...Berikutnya loop. Untuk mengisi sebuah ListBox DNS dengan variabel array, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.
3. Masukkan menu, klik UserForm untuk memasukkan UserForm di buku kerja Anda.
4. Menambahkan sebuah ListBox DNS untuk UserForm.5. Masukkan menu, klik modul untuk memasukkan lembar modul.6. Dalam jendela kode, ketik kode berikut:7. Sub PopulateListBox()8.9. Dim MyArray As Variant10. Dim Ctr As Integer11. MyArray = Array("Apples", "Oranges", "Peaches", "Bananas",
"Pineapples")12. 13. For Ctr = LBound(MyArray) To UBound(MyArray)14. UserForm1.ListBox1.AddItem MyArray(Ctr)15. Next16. 17. UserForm1.Show18.
End Sub
19.Pada alat menu, klik makro, klik PopulateListBox, dan kemudian klik menjalankan.
Prosedur PopulateListBox membangun sebuah array yang sederhana, dan kemudian menambah item dalam array ListBoxDNS dengan menggunakan metode AddItem . Kemudian, UserForm muncul.
Cara menggunakan horizontal kisaran sel pada lembar kerja untuk mengisi sebuah ListBox DNS
Jika Anda mengatur properti RowSource dari sebuah ListBox DNS ke horisontal kisaran sel, hanya nilai pertama muncul dalamListBox DNS.
Untuk mengisi sebuah ListBox DNS dari kisaran horisontal sel dengan menggunakan metode AddItem , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:E1 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ListBox DNS.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Menambahkan sebuah ListBox DNS untuk UserForm.6. Masukkan menu, klik modul untuk memasukkan lembar modul.7. Dalam jendela kode, ketik kode berikut:8. Sub PopulateListWithHorizontalRange()9.10. For Each x In Sheet1.Range("A1:E1")11. UserForm1.ListBox1.AddItem x.Value12. Next13. 14. UserForm1.Show15.
End Sub
16.Pada alat menu, klik makro, klik PopulateListWithHorizontalRange, dan kemudian klik menjalankan.
Prosedur makro loop melalui A1:E5 sel pada Sheet1, menambahkan nilai ke ListBox1 satu pada satu waktu.
CatatanListBox1 tidak terikat untuk A1:E5 sel pada Sheet1.
Bagaimana mengembalikan beberapa nilai dari sebuah ListBox DNS yang terikat untuk beberapa kolom data
Anda dapat memformat ListBox kontrol untuk menampilkan lebih dari satu kolom data. Ini berarti bahwa ListBox DNS menampilkan lebih dari satu unsur pada setiap baris dari daftar. Kembali beberapa nilai dari item yang dipilih dalam daftar, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Ketik data berikut sel-sel yang ditunjukkan pada Sheet1:
A1: tahun
B1: wilayah C1: penjualan
A2: 1996 B2: Utara C2: 140
A3: 1996 B3: Selatan C3: 210
A4: 1997 B4: Utara C4: 190
A5: 1997 B5: Selatan C5: 195
3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Tambahkan kontrol Label untuk UserForm.6. Menambahkan sebuah ListBox DNS untuk UserForm.7. Klik kanan ListBox, dan kemudian klik Properti.8. Ketik atau pilih nilai-nilai yang ditunjukkan untuk properti berikut
kontrol ListBox seperti yang tercantum dalam tabel berikut:9. Property Value10. ----------------------------11. BoundColumn 112. ColumnCount 313. ColumnHeads True
RowSource Sheet1!A2:A5
14.Klik dua kali ListBox DNS untuk menampilkan jendela kode untuk ListBox DNS.
15.Dalam jendela kode, ketik kode berikut:16. Private Sub ListBox1_Change()17.18. Dim SourceData As Range19. Dim Val1 As String, Val2 As String, Val3 As String20. 21. Set SourceRange = Range(ListBox1.RowSource)
22. 23. Val1 = ListBox1.Value24. Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1,
1).Value25. Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1,
1).Value26. 27. Label1.Caption = Val1 & " " & Val2 & " " & Val328.
End Sub
29.Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda klik entri dalam ListBox DNS, label perubahan untuk menampilkan semua tiga item dalam entri itu.
Cara menghapus semua item dari sebuah ListBox DNS yang terikat ke lembar kerja
Untuk menghapus semua item dari sebuah ListBox DNS yang terikat ke lembar kerja, jelas nilai yang disimpan di RowSourceproperti. Untuk menghapus item dari sebuah ListBox DNS yang terikat ke lembar kerja, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ListBox DNS.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Menambahkan sebuah ListBox DNS untuk UserForm.6. Klik kanan ListBox DNS, dan kemudian klik Properti.7. Dalam properti RowSource , ketik Sheet1!A1:A5.8. Tambahkan kontrol CommandButton untuk UserForm.9. Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk control CommandButton ke atas. .10.Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :11. Private Sub CommandButton1_Click()12.13. ListBox1.RowSource = ""14.
End Sub
15.Menjalankan menu, klik Menjalankan Sub/UserForm.
ListBoxDNS yang Anda tambahkan ke UserForm diisi dengan nilai-nilai yang Anda masukkan pada Sheet1.
16.Klik CommandButton1.Semua item yang dihapus dari ListBox1.
Cara menghapus semua item dari sebuah ListBox DNS yang tidak terikat ke lembar kerja
Ada tidak ada satu VBA perintah yang menghapus semua item dari sebuah ListBox DNS jika daftar tidak terikat pada lembar kerja. Untuk menghapus semua item dari sebuah ListBox DNS yang dihuni dari array Visual Basic, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambahkan sebuah ListBox DNS untuk UserForm.5. Masukkan menu, klik modul untuk memasukkan lembar modul.6. Dalam jendela kode, ketik kode berikut:7. Sub PopulateListBox()8.9. Dim MyArray As Variant10. Dim Ctr As Integer11. MyArray = Array("Apples", "Oranges", "Peaches", "Bananas",
"Pineapples")12. 13. For Ctr = LBound(MyArray) To UBound(MyArray)14. UserForm1.ListBox1.AddItem MyArray(Ctr)15. Next16. 17. UserForm1.Show18.
End Sub
19.Tambahkan kontrol CommandButton untuk UserForm.20.Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk control CommandButton ke atas. .21.Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :22. Private Sub CommandButton1_Click()23.24. For i = 1 To ListBox1.ListCount25. ListBox1.RemoveItem 026. Next I27.
End Sub
28.Pada alat menu, klik makro, klik PopulateListBox, dan kemudian klik menjalankan.
ListBox DNS dihuni, dan kemudian UserForm muncul.29.Klik CommandButton1.
Semua item yang dihapus dari ListBox1.
Untuk informasi tambahan tentang ListBox DNS, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:161598 OFF: Bagaimana menambahkan data ke ComboBox atau ListBox di Excel atau Word211446 XL2000: TextColumn properti menampilkan hanya kolom pertama211896 XL2000: Cara untuk mensimulasikan kombinasi kontrol Edit daftar untuk UserForms
211899 XL2000: Masalah menetapkan judul kolom di ListBox DNS213721 XL2000: Cara menghapus semua item dari ListBox atau ComboBox213722 XL2000: Cara menggunakan properti TextColumn213723 XL2000: Bagaimana untuk kembali nilai-nilai dari kotak yang menampilkan beberapa kolom213746 XL2000: Bagaimana untuk mengisi kotak daftar kontrol dengan beberapa rentang213748 XL2000: Bagaimana untuk mengisi kotak daftar satu berdasarkan lain kotak daftar213752 XL2000: Menggunakan metode AddItem yang menyebabkan galat ketika RowSource adalah data yang terikat213756 XL2000: Menggunakan metode RemoveItem dengan ListBox atau ComboBox kontrol213759 XL2000: Cara menentukan item yang dipilih dalam kotak daftar
Kontrol ComboBox
Anda dapat menggunakan kontrol ComboBox sebagai kotak drop-down daftar, atau combo box di mana Anda dapat memilih nilai dalam daftar atau ketik nilai baru. Properti gaya menentukan jika kontrol ComboBox bertindak sebagai daftar drop-down box atau kotak kombo.
Catatan Semua contoh di bagian sebelumnya untuk ListBox DNS juga dapat diterapkan ke kontrol ComboBox , kecuali contoh "Cara untuk mendapatkan item yang dipilih dalam beberapa pilih ListBox DNS".
Bagaimana menambahkan item baru ke daftar jika kontrol ComboBox tidak terikat ke lembar kerja
Ketika Anda mengetik nilai yang sudah tidak dalam daftar di ComboBox kontrol, Anda mungkin ingin menambahkan nilai baru ke daftar. Untuk menambahkan nilai baru yang diketik di ComboBox kontrol jika kontrol ComboBox tidak terikat pada lembar kerja, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol ComboBox untuk UserForm.5. Masukkan menu, klik modul untuk memasukkan lembar modul.6. Dalam jendela kode, ketik kode berikut:7. Sub PopulateComboBox()8.9. Dim MyArray As Variant10. Dim Ctr As Integer11. MyArray = Array("Apples", "Oranges", "Peaches",
"Bananas", "Pineapples")12. 13. For Ctr = LBound(MyArray) To Ubound(MyArray)14. UserForm1.ComboBox1.AddItem MyArray(Ctr)15. Next
16. 17. UserForm1.Show18.
End Sub
19.Tambahkan kontrol CommandButton untuk UserForm.20.Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk control CommandButton ke atas. .21.Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :22. Private Sub CommandButton1_Click()23.24. Dim listvar As Variant25. 26. listvar = ComboBox1.List27. 28. On Error Resume Next29. ' If the item is not found in the list...30. If IsError(WorksheetFunction.Match(ComboBox1.Value,
listvar, 0)) Then31. ' add the new value to the list.32. ComboBox1.AddItem ComboBox1.Value33. End If34.
End Sub
35.Pada alat menu, klik makro, klik PopulateListBox, dan kemudian klik menjalankan.
Kontrol ComboBox dihuni, dan kemudian muncul UserForm.36.Mengendalikan ComboBox , ketik mangga (atau nilai apapun yang
tidak sudah di daftar).37.Klik CommandButton1.
Nilai baru yang diketik sekarang muncul pada akhir daftar.
Bagaimana menambahkan item baru ke daftar jika kontrol ComboBox terikat ke lembar kerja
Ketika pengguna jenis nilai yang sudah tidak dalam daftar di ComboBox kontrol, Anda mungkin ingin menambahkan nilai baru ke daftar. Untuk menambahkan nilai baru yang diketik di ComboBox kontrol untuk daftar, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ComboBox kontrol.3. Pilih sel A1:A5 pada Sheet1.4. Pada menu Insert arahkan ke Name, dan kemudian klik Define.
Dalam kotak nama dalam buku kerja , ketik ListRange , dan kemudian klik OK. Hal ini menciptakan nama ditetapkanListRange. Anda dapat menggunakan nama ditetapkan ListRange untuk mengikat properti RowSource dari kontrolComboBox lembar kerja.
5. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.6. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.7. Tambahkan kontrol ComboBox untuk UserForm.8. Dalam Properti untuk ComboBox1, ketik Sheet1!
ListRange sebagai RowSource properti.9. Tambahkan kontrol CommandButton untuk UserForm.10.Klik dua kali control CommandButton ke atas untuk menampilkan
jendela kode untuk control CommandButton ke atas. .11.Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton1 acara: :12. Private Sub CommandButton1_Click()13.14. Dim SourceData As Range15. Dim found As Object16. 17. Set SourceData = Range("ListRange")18. Set found = Nothing19. ' Try to find the value on the worksheet.20. Set found = SourceData.Find(ComboBox1.Value)21. 22. ' If the item is not found in the list...23. If found Is Nothing Then24. ' redefine ListRange.25. SourceData.Resize(SourceData.Rows.Count + 1, 1).Name =
"ListRange"26. ' Add the new item to the end of the list on the
worksheet.27. SourceData.Offset(SourceData.Rows.Count, 0).Resize(1,
1).Value _28. = ComboBox1.Value29. ' Reset the list displayed in the ComboBox.30. ComboBox1.RowSource =
Range("listrange").Address(external:=True)31. End If32.
End Sub
33.Menjalankan menu, klik Menjalankan Sub/UserForm.
UserForm akan muncul pada Sheet1.34.Mengendalikan ComboBox , ketik nilai yang tidak sudah di daftar.35.Klik CommandButton1.
Item baru yang diketik dalam kontrol ComboBox ditambahkan ke daftar, dan daftar yang kontrol terikat ComboBox diperluas untuk mencakup sel-sel A1:A6.
Bagaimana menampilkan daftar kontrol ComboBox ketika UserForm muncul
Kadang-kadang, ini mungkin berguna untuk menampilkan daftar kontrol ComboBox ketika UserForm pertama muncul. Contoh berikut menggunakan
peristiwa Aktifkan UserForm. Untuk menampilkan daftar kontrol ComboBox , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A5 pada Sheet1, ketik nilai-nilai yang ingin Anda gunakan
untuk mengisi ComboBox kontrol.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.5. Tambahkan kontrol ComboBox untuk UserForm.6. Dalam Properti untuk ComboBox1, ketik Sheet1!
A1:A5 sebagai RowSource properti.7. Klik dua kali UserForm untuk menampilkan jendela kode untuk
UserForm.8. Dalam jendela kode, ketik kode berikut untuk Klik
CommandButton acara:9. Private Sub UserForm_Activate()10.11. ComboBox1.DropDown12.
End Sub
13.Menjalankan menu, klik Menjalankan Sub/UserForm.UserForm muncul di Sheet1, dan Anda dapat melihat daftar untuk ComboBox1.
Bagaimana menampilkan daftar satu kontrol ComboBox ketika Anda membuat pilihan dalam kontrol ComboBox lainnya
Untuk secara otomatis menampilkan daftar satu kontrol ComboBox ketika pilihan yang dibuat di kontrol ComboBox lainnya, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Dalam sel A1:A10 pada Sheet1, ketik nilai-nilai yang ingin Anda
gunakan untuk mengisi ComboBox kontrol.3. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.4. Masukkan menu, klik modul.5. Dalam jendela kode untuk modul, ketik kode berikut:6. Sub DropDown_ComboBox()7.8. UserForm1.ComboBox2.DropDown9.
End Sub
10.Masukkan menu, klik UserForm untuk memasukkan UserForm di buku kerja Anda.
11.Tambahkan kontrol ComboBox untuk UserForm.12.Dalam Properti untuk ComboBox1, ketik Sheet1!
A1:A5 sebagai RowSource properti.13.Klik dua kali ComboBox kontrol untuk membuka jendela kode untuk
kontrol ComboBox . .14.Dalam jendela kode untuk kontrol ComboBox , ketik kode berikut
untuk Klik ComboBox acara:
15. Private Sub ComboBox1_Click()16.17. Application.OnTime Now, "DropDown_ComboBox"18.
End Sub
19.Tambahkan kontrol ComboBox kedua untuk UserForm.20.Dalam Properti untuk ComboBox2, ketik Sheet1!
A6:A10 sebagai RowSource properti.21.Menjalankan menu, klik Menjalankan Sub/UserForm.
Ketika Anda mengklik item dalam daftar ComboBox1 , daftar untuk ComboBox2 secara otomatis muncul.
Untuk informasi tambahan tentang kontrol ComboBox, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:161598 OFF: Bagaimana menambahkan data ke ComboBox atau ListBox di Excel atau Word211446 XL2000: TextColumn properti menampilkan hanya kolom pertama211899 XL2000: Masalah menetapkan judul kolom di ListBox DNS213717 XL2000: Galat Run-time menggunakan metode DropDown dengan ComboBox213718 XL2000: Bagaimana untuk menampilkan daftar ComboBox ketika UserForm ditampilkan213721 XL2000: Cara menghapus semua item dari ListBox atau ComboBox213722 XL2000: Cara menggunakan properti TextColumn213752 XL2000: Menggunakan metode AddItem yang menyebabkan galat ketika data RowSource adalah terikat213756 XL2000: Menggunakan metode RemoveItem dengan ListBox atau ComboBox kontrol
Kontrol frame
Gunakan kontrol Frame untuk kelompok logis terkait item di UserForm. Kontrol bingkai sering digunakan untuk kelompok kontrol OptionButton . .
Cara loop melalui semua kontrol pada kontrol Frame
Untuk menggunakan untuk masing-masing...Berikutnya loop untuk mengakses semua kontrol dalam kontrol Frame , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol Frame untuk UserForm.5. Menambahkan kontrol OptionButton kontrol Frame . .
Ulangi langkah ini untuk menambahkan dua lebih OptionButton kontrol mengendalikan Frame . .
6. Klik dua kali kontrol Frame untuk membuka jendela kode untuk kontrol Frame . .
7. Dalam jendela kode, ketik kode berikut untuk Klik Frame acara: :8. Private Sub Frame1_Click()9.10. Dim Ctrl As Control11. 12. For Each Ctrl In Frame1.Controls13. Ctrl.Enabled = Not Ctrl.Enabled14. Next15.
End Sub
16.Menjalankan menu, klik Menjalankan Sub/UserForm.17.Di UserForm, klik kontrol Frame .
Pertama kali Anda meng-klik kontrol Frame , semua kontrol dalam kontrol Frame tidak tersedia. Jika Anda mengklik kontrolFrame lagi, kontrol tersedia lagi.
Kontrol OptionButton
Anda dapat menggunakan kelompok kontrol OptionButton untuk membuat satu pilihan antara sekelompok pilihan. Anda dapat menggunakan salah satu teknik berikut untuk grup OptionButton kontrol:
Kontrol frame Kontrol frame
Catatan Pada nilai, nilai Ya dan nilai sebenarnya menunjukkan bahwa OptionButton yang dipilih. Nilai Off , tidak adanilai dan nilai False menunjukkan bahwa OptionButton tidak dipilih.
Cara menentukan OptionButton kontrol yang dipilih ketika kontrol OptionButton pada kontrol Frame
Ketika Anda mengelompokkan OptionButtons kontrol dengan menggunakan kontrol bingkai , Anda dapat menentukan kontrolOptionButton yang dipilih oleh perulangan melalui semua kontrol dalam kontrol Frame dan memeriksa properti nilai dari setiap kontrol. Untuk menentukan OptionButton kontrol yang dipilih, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol Frame untuk UserForm.5. Menambahkan kontrol OptionButton kontrol Frame . .
Ulangi langkah ini untuk menambahkan dua lebih OptionButton kontrol mengendalikan Frame . .
6. Tambahkan control CommandButton ke atas UserForm luar kontrol Frame . .
7. Klik dua kali control CommandButton ke atas untuk menampilkan jendela kode untuk UserForm.
8. Dalam jendela kode, ketik kode berikut untuk Klik CommandButton1 acara: :
9. Private Sub CommandButton1_Click()10.11. For Each x In Frame1.Controls12. If x.Value = True Then13. MsgBox x.Caption14. End If15. Next16.
End Sub
17.Menjalankan menu, klik Menjalankan Sub/UserForm.18.Di UserForm, klik satu OptionButton kontrol, dan kemudian
klik CommandButton1.Muncul kotak pesan yang berisi keterangan kontrol OptionButton dipilih saat ini.
Cara menentukan OptionButton kontrol yang dipilih
Tujuan dari contoh berikut adalah untuk menentukan OptionButton kontrol yang dipilih dalam Group1. Untuk membuat UserForm yang memiliki dua kelompok kontrol OptionButton , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja baru kosong.2. Pada alat menu, titik makro, dan kemudian klik Visual Basic Editor.3. Masukkan menu, klik UserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan kontrol Frame untuk UserForm.5. Tambahkan kontrol OptionButton dalam kontrol Frame . .
Ulangi langkah ini untuk menambahkan dua lebih OptionButton kontrol mengendalikan Frame . .
6. Untuk setiap OptionButton kontrol, ketik Group1 GroupName properti.
7. Ulangi langkah 4 dan 5 untuk membuat kedua kontrol Frame yang berisi tiga OptionButton kontrol.
8. Untuk setiap OptionButton kontrol di kontrol Frame kedua, ketik Group2 di GroupName properti.
9. Tambahkan control CommandButton ke atas UserForm luar kontrol Frame . .
10.Klik dua kali control CommandButton ke atas untuk menampilkan jendela kode untuk UserForm.
11.Dalam jendela kode, ketik kode berikut untuk Klik CommandButton1 acara: :
12. Private Sub CommandButton1_Click()13.14. Dim x As Control15. 16. ' Loop through ALL the controls on the UserForm.17. For Each x In Me.Controls
18. ' Check to see if "Option" is in the Name of each control.
19. If InStr(x.Name, "Option") Then20. ' Check Group name.21. If x.GroupName = "Group1" Then22. ' Check the status of the OptionButton.23. If x.Value = True Then24. MsgBox x.Caption25. Exit For26. End If27. End If28. End If29. Next30.
End Sub
31.Menjalankan menu, klik Menjalankan Sub/UserForm.32.Di UserForm, klik satu OptionButton kontrol di Group1, dan kemudian
klik CommandButton1.Muncul kotak pesan yang berisi keterangan OptionButton kontrol yang saat ini dipilih.
Untuk informasi tambahan tentang OptionButton kontrol, klik nomor artikel berikut ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:213724 XL2000: Masalah menggunakan properti TripleState untuk tombol pilihan
Kotak centang kontrol
Anda dapat menggunakan kotak centang kontrol untuk menunjukkan nilai true atau false. Sebuah kotak centang kontrol yang muncul dengan tanda centang di dalamnya menunjukkan nilai yang benar. Kotak centang yang muncul dengan tanda centang tidak menunjukkan nilai salah. Jika nilai properti TripleState benar, kotak centang kontrol juga dapat memiliki nilai Null.Sebuah kotak centang kontrol yang memiliki nilai Null tampaknya tidak tersedia.
CatatanDi nilai, nilai Ya , dan nilai sebenarnya menunjukkan bahwa kotak centang kontrol dipilih. Nilai Off , tidak ada nilai dan nilai False menunjukkan bahwa kotak centang kontrol dibersihkan.
Bagaimana memeriksa nilai kotak centang kontrol
Menggunakan nilai properti untuk gulung balik nilai sekarang dari kotak centang kontrol, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambahkan sebuah kotak centang kontrol ke UserForm.5. Dalam daftar properti untuk CheckBox1, pilih Benar sebagai
properti TripleState .
6. klik ganda kotak centang mengendalikan ke menampilkan jendela kode untuk kotak centang kontrol.
7. Dalam jendela kode, ketik kode berikut untuk CheckBox1 perubahan acara:
8. Private Sub CheckBox1_Change()9.10. Select Case CheckBox1.Value11. Case True12. CheckBox1.Caption = "True"13. Case False14. CheckBox1.Caption = "False"15. Case Else16. CheckBox1.Caption = "Null"17. End Select18.
End Sub
19.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda mengklik kotak centang kontrol, keterangan dari kotak centang kontrol perubahan untuk mencerminkan nilai saat ini.
Kontrol ToggleButton
Kontrol SpinButton , seperti kontrol ScrollBar , sering digunakan untuk peningkatan atau mengurangi nilai kontrol lainnya, seperti Label kontrol. Properti SmallChange menentukan berapa banyak nilai kontrol SpinButton berubah ketika diklik.
CatatanDi nilai, nilai Ya , dan nilai sebenarnya menunjukkan bahwa kontrol ToggleButton yang dipilih. Nilai Off , tidak adanilai dan nilai False menunjukkan bahwa kontrol ToggleButton yang tidak dipilih.
Cara mendapatkan nilai kontrol ToggleButton
Untuk mendapatkan nilai ToggleButton kontrol, ikuti langkah berikut:1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. / / Tambahkan kontrol ToggleButton pada UserForm.5. Menambah kontrol Label UserForm.6. klik ganda ToggleButton mengendalikan ke Buka jendela kode untuk
mengontrol ToggleButton .7. Dalam jendela kode, ketik kode berikut untuk
acara ToggleButton1Click :8. Private Sub ToggleButton1_Click()9.10. If ToggleButton1.Value = True Then11. ' Set UserForm background to Red.12. Me.BackColor = RGB(255, 0, 0)13. Else
14. ' Set UserForm background to Blue.15. Me.BackColor = RGB(0, 0, 255)16. End If17.
End Sub
18.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda meng-klik kontrol ToggleButton , warna latar belakang perubahan UserForm.
Cara membuat sekelompok saling eksklusif ToggleButton kontrol
Contoh ini menggunakan MouseUp event untuk menetapkan variabel dan panggilan prosedur ExclusiveToggleButtons . Prosedur ExclusiveToggleButtons menentukan ToggleButton kontrol yang dipilih, dan kemudian membatalkan yang lain. Untuk membuat sekelompok saling eksklusif ToggleButton kontrol, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikModul.4. Dalam jendela kode untuk modul, ketik kode berikut:5. ' Variable that holds the name of the ToggleButton that was
clicked.6. Public clicked As String7.8. Sub ExclusiveToggleButtons()9.10. Dim toggle As Control11.12. ' Loop through all the ToggleButtons on Frame1.13. For Each toggle In UserForm1.Frame1.Controls14.15. ' If Name of ToggleButton matches name of ToggleButton16. ' that was clicked...17. If toggle.Name = clicked Then18. '...select the button.19. toggle.Value = True20. Else21. '...otherwise clear the selection of the button.22. toggle.Value = False23. End If24. Next25.
End Sub
26.Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di buku kerja Anda.
27.Menambah kontrol Frame UserForm.28.Tambahkan kontrol ToggleButton mengendalikan Frame .
Ulangi langkah ini untuk menambahkan dua lebih ToggleButton kontrol mengendalikan Frame .
29.klik ganda Bingkai Control untuk jendela kode untuk UserForm.30.Dalam jendela kode untuk modul, ketik kode berikut
untuk ToggleButton MouseUp event:31. Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _32. ByVal Shift As Integer, ByVal X As Single, ByVal
Y As Single)33.34. clicked = ToggleButton1.Name35. Application.OnTime Now, "ExclusiveToggleButtons"36.37. End Sub38.39. Private Sub ToggleButton2_MouseUp(ByVal Button As Integer,
_40. ByVal Shift As Integer, ByVal X As Single, ByVal
Y As Single)41.42. clicked = ToggleButton2.Name43. Application.OnTime Now, "ExclusiveToggleButtons"44.45. End Sub46.47. Private Sub ToggleButton3_MouseUp(ByVal Button As Integer,
_48. ByVal Shift As Integer, ByVal X As Single, ByVal
Y As Single)49.50. clicked = ToggleButton3.Name51. Application.OnTime Now, "ExclusiveToggleButtons"52.
End Sub
53.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda mengklik ToggleButton kontrol, pengendalian ToggleButton dipilih sebelumnya dibatalkan.
Kontrol TabStrip
Gunakan kontrol TabStrip untuk melihat set informasi untuk satu set yang berbeda kontrol.
Bagaimana mengontrol kontrol TabStrip pemrograman
Untuk mengubah properti BackColorgambar kontrol didasarkan pada tab yang dipilih, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Editor Visual Basic.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol TabStrip UserForm.5. Menambahkan gambar kontrol yang mencakup basis
kontrol TabStrip , tetapi yang tidak mencakup tab.
6. Di panel properti untuk Image1, ketik& H000000FF & dalam BackColor properti.
7. klik ganda TabStrip kontrol untuk membuka jendela kode untuk mengontrol TabStrip .
8. Dalam jendela kode, ketik kode berikut untuk TabStrip1 perubahan acara:
9. Private Sub TabStrip1_Change()10.11. Dim i As Integer12.13. i = TabStrip1.SelectedItem.Index14. Select Case i15. Case 016. ' If Tab1 is selected, change the color of Image
control to Red.17. Image1.BackColor = RGB(255, 0, 0)18. Case 119. ' If Tab2 is selected, change the color of Image
control to Green.20. Image1.BackColor = RGB(0, 255, 0)21. End Select22.
End Sub
23.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Untuk mengubah properti BackColor gambar kontrol berdasarkan tab yang dipilih, ikuti langkah berikut:
Untuk informasi tambahan tentang TabStrip kontrol, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:213254XL2000: Bagaimana menggunakan kontrol TabStrip pada UserForm
MultiPage kontrol
Ketika Anda mengklik kotak centang kontrol, judul kotak centang kontrol perubahan untuk mencerminkan nilai saat ini.
Bagaimana mengontrol kontrol MultiPage pemrograman
/ / Tambahkan kontrol MultiPage dan kontrol dengan menggunakan makro, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol MultiPage UserForm.5. Menambah kontrol Label halaman4 pada MultiPage control.6. Menambah kontrol TextBox halaman4 pada MultiPage control.7. Pada kawalan MultiPage , klik Halaman5, dan kemudian ulangi
langkah 5 dan 6 untuk menambahkan sebuah kontrolLabel dan kontrol TextBox .
8. klik ganda MultiPage kontrol untuk membuka jendela kode untuk mengontrol MultiPage .
9. Dalam jendela kode, ketik kode berikut untuk MultiPage1 perubahan acara:
10. Private Sub MultiPage1_Change()11.12. Select Case MultiPage1.Value13. ' If activating Page1...14. Case 015. Label1.Caption = TextBox2.Text16. TextBox1.Text = ""17. ' If activating Page2...18. Case 119. Label2.Caption = TextBox1.Text20. TextBox2.Text = ""21. End Select22.
End Sub
23.Dalam jendela kode, ketik kode berikut untuk UserForm inisialisasi acara:
24. Private Sub UserForm_Initialize()25.26. ' Force Page1 to be active when UserForm is displayed.27. MultiPage1.Value = 028. Label1.Caption = ""29.
End Sub
30.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.
Di kontrol TextBox di halaman4, ketik Tes. Ketika Anda Klik Halaman5 tab, TextBox2 dibersihkan, dan keteranganLabel2 perubahan pada entri yang Anda buat dalam TextBox1 pada halaman4 ("Test").
Cara membuat antarmuka wizard dengan menggunakan kontrol MultiPage
Untuk menambahkan kontrol SpinButton yang akan menambahkan atau decrements tanggal yang disimpan dalam kontrolTextBox , ikuti langkah berikut:
Catatan Ketika Anda mengindeks halaman kontrol MultiPage dengan menggunakan koleksi halaman , halaman pertama dalam koleksi adalah halaman nol. Ini prosedur juga menetapkan keterangan CommandButton kontrol dan menonaktifkan <>tombol tekan.
Catatan Prosedur yang ditetapkan untuk klik peristiwa CommandButton1 kontrol fungsi <> tombol tekan. Prosedur yang ditetapkan untuk klik peristiwa CommandButton2 kontrol fungsi berikutnya mengatakan tombol tekan. Untuk membuat antarmuka wizard dengan menggunakan kontrol MultiPage , ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol MultiPage UserForm.5. Klik kanan-atas Halaman4 tab, dan kemudian klikHalaman
baru untuk menambahkan Page3 ke MultiPage kontrol.6. / / Tambahkan kontrol CommandButton pada UserForm yang tidak
pada kontrol MultiPage .
Ulangi langkah ini untuk menambahkan kontrol CommandButton kedua di UserForm.
7. klik ganda UserForm untuk membuka kode jendela untuk UserForm.8. Dalam jendela kode, ketik kode berikut untuk UserForm
inisialisasi acara:9. Private Sub UserForm_Initialize()10.11. With MultiPage112. ' The next 2 lines disable Page2 & Page3.13. .Pages(1).Enabled = False14. .Pages(2).Enabled = False15. ' Make Page1 the active page.16. .Value = 017. End With18. 19. ' Set the caption on the CommandButtons.20. CommandButton1.Caption = "<Back"21. CommandButton1.Enabled = False22. CommandButton2.Caption = "Next>"23.24. End Sub25.26. ' Procedure for the "<Back" button27. Private Sub CommandButton1_Click()28. Select Case MultiPage1.Value29. Case 1 ' If Page2 is
active...30. With MultiPage131. .Pages(0).Enabled = True ' Enable Page1.32. .Value = MultiPage1.Value - 1 ' Move back 1
page.33. .Pages(1).Enabled = False ' Disable
Page2.34. End With35. CommandButton1.Enabled = False ' Disable Back
button.36. 37. Case 2 ' If Page3 is
active...38. With MultiPage139. .Pages(1).Enabled = True ' Enable Page2.40. .Value = MultiPage1.Value - 1 ' Move back 1
page.
41. .Pages(2).Enabled = False ' Disable Page3.
42. CommandButton2.Caption = "Next>"43. End With44. End Select45.46. End Sub47.48. ' Procedure for the "Next>" button49. Private Sub CommandButton2_Click()50.51. Select Case MultiPage1.Value52. Case 0 ' If Page1 is
active...53. With MultiPage154. .Value = MultiPage1.Value + 1 ' Move forward
1 page.55. .Pages(1).Enabled = True ' Enable
Page2.56. .Pages(0).Enabled = False ' Disable
Page1.57. End With58. CommandButton1.Enabled = True ' Enable Back
button.59. 60. Case 1 ' If Page2 is
active...61. With MultiPage162. .Value = MultiPage1.Value + 1 ' Move forward
1 page.63. .Pages(2).Enabled = True ' Enable
Page3.64. .Pages(1).Enabled = False ' Disable
Page2.65. End With66. CommandButton2.Caption = "Finish" ' Change Next
button to Finish.67. 68. Case 2 ' If Page3 is
active...69. MsgBox "Finished!" ' User is
Finished.70. Unload Me ' Unload the
UserForm.71. End Select72.73. End Sub
74.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika Anda mengklik Berikutnya mengatakanHalaman5 diaktifkan dan The <> tombol tekan akan tersedia. Ketika Anda mengklik Berikutnya mengatakan kedua kalinya, Page3 diaktifkan dan keterangan untuk CommandButton2 perubahan "Selesai".
Kontrol ScrollBar
Anda dapat menggunakan kontrol ScrollBar ketika Anda ingin mengubah nilai yang ditampilkan oleh kontrol lain, seperti Labelkontrol.
Cara mengubah sebuah kontrol Label yang didasarkan pada nilai kontrol ScrollBar
Anda dapat menggunakan kontrol ScrollBar ketika Anda ingin mengubah nilai yang ditampilkan oleh kontrol lainnya, sepertiLabel kontrol.
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambahkan ScrollBar kontrol UserForm.5. Menambah kontrol Label UserForm.6. klik ganda ScrollBar kontrol untuk membuka jendela kode untuk
mengontrol ScrollBar .7. Dalam jendela kode, ketik kode berikut untuk ScrollBar1
perubahan acara:8. Private Sub ScrollBar1_Change()9.10. Label1.Caption = ScrollBar1.Value11.
End Sub
12.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Bila Anda menggulir dengan menggunakan kontrol ScrollBar , Label1 diperbarui dengan nilai sekarang dari kontrol ScrollBar .
Kontrol SpinButton
Kontrol SpinButton , seperti kontrol ScrollBar , sering digunakan untuk peningkatan atau untuk menurunkan nilai kontrol lain, seperti Label kontrol. Properti SmallChange menentukan berapa banyak nilai kontrol SpinButton berubah ketika diklik.
Cara menambah kontrol SpinButton yang akan menambahkan atau decrements tanggal yang disimpan dalam kontrol TextBox
Untuk menambahkan kontrol SpinButton yang akan menambahkan atau decrements tanggal yang disimpan di kontrol TextBox, ikuti langkah berikut:
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol SpinButton UserForm.5. Tambahkan kontrol TextBox ke UserForm.
6. klik ganda SpinButton mengendalikan ke Buka jendela kode untuk mengontrol SpinButton .
7. Dalam jendela kode, ketik kode berikut untuk acara SpinButton1 SpinUp :
8. Private Sub SpinButton1_SpinUp()9.10. TextBox1.Text = DateValue(TextBox1.Text) + 111.12. End Sub
13.Dalam jendela kode, ketik kode berikut untuk acara SpinButton1 SpinDown :
14. Private Sub SpinButton1_SpinDown()15.16. TextBox1.Text = DateValue(TextBox1.Text) - 117.18. End Sub
19.Dalam jendela kode, ketik kode berikut untuk UserForm inisialisasi acara:
20. Private Sub UserForm_Initialize()21.22. TextBox1.Text = Date23.24. End Sub
25.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.Ketika UserForm muncul, tanggal saat ini muncul dalam TextBox1. Ketika Anda meng-klik kontrol SpinButton , tanggal incremented atau decremented oleh salah satu hari.
Ketika tugas yang membutuhkan beberapa langkah-langkah bertahap, antarmuka wizard dapat sangat efektif. Anda dapat menggunakan kontrol MultiPage untuk membuat antarmuka wizard daripada menggunakan beberapa UserForms. Contoh ini memanipulasi kontrol MultiPage yang memiliki tiga halaman. Prosedur yang melekat pada peristiwa menginisialisasiUserForm menonaktifkan Page2 dan Page3, dan pasukan Page1 MultiPage kontrol aktif..
Untuk informasi tambahan tentang SpinButton kontrol, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:213224XL2000: Visual Basic contoh untuk menggunakan tombol tekan Spin dengan tanggal
RefEdit kontrol
Kontrol RefEdit meniru perilaku kotak referensi yang dibangun dalam Excel. Anda dapat menggunakan nilai properti untuk mendapatkan alamat penyuratan sel yang saat ini disimpan dalam kontrol RefEdit .
Cara mengisi kisaran sel yang didasarkan pada kisaran yang Anda pilih dengan menggunakan RefEdit kontrol
Untuk menggunakan kontrol RefEdit untuk mengisi sel, ikuti langkah berikut:1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Menambah kontrol RefEdit UserForm.5. Menambah kontrol CommandButton UserForm.6. klik ganda CommandButton mengendalikan ke Buka jendela kode
untuk mengontrol CommandButton .7. Dalam jendela kode, ketik kode berikut untuk
acara CommandButton1 klik :8. Private Sub CommandButton1_Click()9.10. Dim MyRange As String11. MyRange = RefEdit1.Value12. Range(MyRange).Value = "test"13. Unload Me14.
End Sub
15.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.
UserFormappears.16.Klik tombol tekan di kontrol RefEdit .
Pemberitahuan bahwa UserForm runtuh.17.Memilih kisaran sel-sel seperti A1:A5, dan kemudian klik tombol tekan
di kontrol RefEdit untuk memperluas UserForm.18.Klik CommandButton1.
UserForm menutup dan sel-sel yang Anda pilih sekarang berisi kata "ujian".
Untuk informasi tambahan tentang RefEdit kontrol, klik artikel berikut nomor ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:213776XL2000: Cara menggunakan kontrol RefEdit dengan UserForm
Gambar kontrol
Tujuan dari gambar kontrol adalah untuk Gambar utama pada UserForm. Untuk menetapkan gambar untuk gambar kontrol saat menjalankan, menggunakan fungsi LoadPicture .
Cara memuat gambar ke gambar kontrol
Ketika Anda mengklik kontrol ToggleButton , warna latar belakang perubahan UserForm.
1. Memulai Excel, dan kemudian buka buku kerja kosong baru.2. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.3. Pada Masukkan menu, klikUserForm untuk memasukkan UserForm di
buku kerja Anda.4. Tambahkan gambar kontrol pada UserForm.
5. klik ganda Gambar kontrol untuk membuka Jendela kode untuk gambar kontrol.
6. Dalam jendela kode, ketik kode berikut untuk acara Image1 klik :7. Private Sub Image1_Click()8.9. Dim fname As String10. 11. ' Display the Open dialog box.12. fname = Application.GetOpenFilename(filefilter:= _13. "Bitmap Files(*.bmp),*.bmp", Title:="Select Image
To Open")14. 15. ' If you did not click Cancel...16. If fname <> "False" Then17.18. ' Load the bitmap into the Image control.19. Image1.Picture = LoadPicture(fname)20.21. ' Refresh the UserForm.22. Me.Repaint23. End If24.25. End Sub
26.Pada Menjalankan menu, klik Menjalankan Sub/UserForm.
UserForm muncul.27.Klik Gambar kontrol.
Kapan Anda meng-klik kontrol gambar , Pilih gambar untuk buka kotak dialog muncul, dan kemudian Anda dapat memilih file bitmap untuk memasukkan ke dalam kontrol.
Untuk informasi tambahan tentang gambar kontrol, klik nomor artikel berikut ini untuk melihat artikel dalam Pengetahuan Microsoft Base:213732XL2000: Menggunakan fungsi LoadPicture dengan gambar kontrol
Informasi tambahan
Objek Browser
Daftar lengkap dari semua properti dan metode untuk tertentu perintah ini tersedia dalam Objek Browser. Untuk mengetahui informasi ini di Excel, ikuti langkah berikut:
1. Pada Alat menu, titikMakro, lalu klik Visual Basic Editor.2. Pada Lihat menu, klik Objek Browser.3. Dalam Cari teks Ketik jenis nama kontrol yang Anda inginkan, dan
kemudian klik Pencarian.Untuk informasi lebih lanjut tentang bagaimana menggunakan Browser objek, di Editor Visual Basic, klik Microsoft Visual Basic bantuanpada Tolong menu, jenis Objek Browserdi kantor asisten atau jawaban Wizard, dan kemudian klik Pencarian untuk melihat topik. Untuk informasi tambahan tentang cara menginstal Microsoft Excel membantu pada
komputer Anda, klik berikut nomor artikel untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:231946OFF2000: Bagaimana untuk Tambah/Hapus satu program Office atau komponen