Petua: Bahasa lain diterjemahkan Google. Anda boleh melawat English versi pautan ini.
Log masuk
x
or
x
x
Daftar Sekarang
x

or

Bagaimana untuk mengisi kotak teks berdasarkan pemilihan combobox di UserForm dalam Excel?

Supaya anda mempunyai jadual mengandungi Nama dan lajur nombor Staf seperti di bawah tangkapan skrin yang ditunjukkan. Kini anda perlu mencipta Userform yang tertanam dengan kotak kombo yang mengumpul semua nama di dalam dan kotak teks yang akan mengisi bilangan kakitangan yang bersamaan apabila memilih nama dari kotak kombo. Kaedah dalam artikel ini boleh membantu anda untuk mendapatkannya.

Populasi kotak teks berdasarkan pemilihan combobox pada Userform dengan VBA


Mudah memasukkan atau memadam pelbagai kotak semak secara besar-besaran di Excel:

Platform Kotak Centang Masukkan Batch utiliti Kutools untuk Excel boleh membantu anda dengan cepat memasukkan beberapa kotak semak dalam julat terpilih sekaligus. Dan anda boleh memadam semua kotak semak dalam julat yang dipilih dengan Kotak Semak Kotak Hapuskan. Lihat Jawapan:

Kutools untuk Excel: dengan lebih daripada 200 berguna Excel tambahan, bebas untuk mencuba tanpa had pada hari 60. Muat turun dan percubaan percuma Sekarang!


Populasi kotak teks berdasarkan pemilihan combobox pada Userform dengan VBA


Sila lakukan seperti berikut untuk mengisi kotak teks dengan nilai yang sepadan berdasarkan pemilihan combobox di Userform.

1. Tekan butang Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Di dalam Microsoft Visual Basic untuk Aplikasi tetingkap, klik Memasukkan > Penggunaform. Lihat tangkapan skrin:

3. Kemudian masukkan kawalan kotak Combo dan kawalan kotak teks ke dalam Userform yang dicipta seperti di bawah tangkapan skrin yang ditunjukkan.

4. Klik kanan pada mana-mana ruang kosong dari Userform, dan kemudian klik Lihat Kod dari menu konteks. Lihat tangkapan skrin:

5. Dalam tetingkap Pembuka Pengguna (Kod) pembukaan, sila salin dan tampal kod VBA di bawah untuk menggantikan asal.

Kod VBA: Mengandungi kotak teks berdasarkan pemilihan combobox di Userform

Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
    Set xRg = Worksheets("Sheet5").Range("A2:B8")
    Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
    Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub

Nota: Dalam kod, A2: B2 adalah julat yang mengandungi nilai-nilai yang akan anda pakai secara berasingan di kedua kotak combo Userform dan kotak teks. Dan Sheet5 adalah nama lembaran kerja yang mengandungi julat data. Sila ubah seperti yang anda perlukan.

6. Tekan butang Alt + Q kunci untuk keluar Microsoft Visual Basic untuk Aplikasi tingkap.

7. klik Pemaju > Memasukkan > Butang Perintah (Kawalan ActiveX) untuk memasukkan butang arahan ke dalam lembaran kerja.

8. Klik kanan tab helaian dan pilih Lihat Kod dari menu klik kanan. Kemudian salin dan tampal kod VBA ke dalam tetingkap kod.

Kod VBA: Tunjukkan bentuk pengguna

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9. Matikan Mod Reka Bentuk dalam buku kerja.

Klik butang arahan untuk membuka borang pengguna yang ditentukan. Kemudian anda dapat melihat semua nama dikumpulkan dalam kotak kombo. Apabila memilih nama dari kotak kombo, bilangan kakitangan yang sepadan akan dimasukkan ke dalam kotak teks secara automatik seperti tangkapan skrin di bawah.


Related articles:


Cadangan Alat Produktiviti untuk Excel

kte tab 201905

Kutools untuk Excel Membantu Anda Selalu Menyelesaikan Kerja di Hadapan Masa, dan Berdiri Daripada Orang

  • Lebih daripada ciri-ciri canggih 300 yang canggih, yang direka untuk senario kerja 1500, meningkatkan produktiviti oleh 70%, memberi anda lebih banyak masa untuk menjaga keluarga dan menikmati kehidupan.
  • Tidak perlu lagi menghafal formula dan kod VBA, berikan rehat dari otak anda sekarang.
  • Menjadi pakar Excel dalam minit 3, Operasi yang rumit dan berulang boleh dilakukan dalam beberapa saat,
  • Mengurangkan beribu-ribu operasi papan kekunci & tetikus setiap hari, mengucapkan selamat tinggal kepada penyakit pekerjaan sekarang.
  • 110,000 orang yang sangat berkesan dan pilihan syarikat 300 + yang terkenal di dunia.
  • Ciri-ciri penuh 60-hari adalah percubaan percuma. Jaminan wang balik 60 hari. Tahun 2 peningkatan dan sokongan percuma.

Membawa Browsing Tab dan Editing ke Microsoft Office, Jauh Lebih Berkuasa Daripada Tab Penyemak Imbas

  • Tab Pejabat direka untuk Aplikasi Pejabat Word, Excel, PowerPoint dan Lain-lain: Penerbit, Akses, Visio dan Projek.
  • Buka dan buat beberapa dokumen dalam tab baharu pada tetingkap yang sama, dan bukannya dalam tetingkap baru.
  • Meningkatkan produktiviti anda oleh 50%, dan mengurangkan beratus-ratus klik tetikus untuk anda setiap hari!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Carey Ogola · 11 months ago
    The method is very simple and populates the combo box quite efficiently. However, when I try populating the text box, I get a run-time error '1004': Unable to get the VLookup property of the WorksheetFunction class. Kindly assist with resolving this error.
    • To post as a guest, your comment is unpublished.
      crystal · 10 months ago
      Hi,
      May I have your Office version? I need the feedback to check for the error.
      Thanks for your comment.
      • To post as a guest, your comment is unpublished.
        hoa tran · 9 months ago
        office 2010 32 bit
        • To post as a guest, your comment is unpublished.
          crystal · 9 months ago
          Good day,
          I have tried the code in Office 2010 32 bit, but no errors occured.
          Please make sure the sheet name and cell range in the first VBA code are the same with your actual sheet name and range.
          Thanks for your comment.