Senarai jatuh turun dengan berbilang pilihan

Senarai lungsur turun klasik dalam helaian Excel sangat bagus, tetapi ia hanya membenarkan anda memilih satu pilihan daripada set yang dibentangkan. Kadangkala inilah yang anda mahukan, tetapi terdapat situasi di mana pengguna perlu boleh memilih beberapa elemen daripada senarai.

Mari kita lihat beberapa pelaksanaan biasa senarai berbilang pilihan tersebut.

Pilihan 1. Mendatar

Pengguna memilih item daripada senarai juntai bawah satu demi satu, dan ia kelihatan di sebelah kanan sel yang sedang ditukar, secara automatik disenaraikan secara mendatar:

Senarai juntai bawah dalam sel C2:C5 dalam contoh ini dibuat dengan cara standard, iaitu

  1. pilih sel C2:C5
  2. tab atau menu Tarikh memilih pasukan Pengesahan Data
  3. dalam tetingkap yang terbuka, pilih pilihan senarai dan tentukan sebagai julat Source sel dengan data sumber untuk senarai A1:A8

Kemudian anda perlu menambah makro pada modul helaian, yang akan melakukan semua kerja utama, iaitu menambah nilai yang dipilih di sebelah kanan sel hijau. Untuk melakukan ini, klik kanan pada tab helaian dengan senarai juntai bawah dan pilih arahan Kod sumber. Tampalkan kod berikut ke dalam tetingkap editor Visual Basic yang terbuka:

Subsheet_Tukar Peribadi(Sasaran ByVal Sebagai Julat) Pada Ralat Sambung semula Seterusnya Jika Tidak Bersilang(Sasaran, Julat("C2:C5")) Tiada Apa-apa Dan Sasaran.Cells.Count = 1 Kemudian Application.EnableEvents = Palsu Jika Len(Target.Offset (0, 1)) = 0 Kemudian Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target Tamat Jika Target.ClearContents Application.EnableEvents = True End Jika End Sub  

Jika perlu, gantikan julat sensitif senarai juntai bawah C2:C5 dalam baris kedua kod ini dengan anda sendiri.

Pilihan 2. Menegak

Sama seperti dalam versi sebelumnya, tetapi nilai baru yang dipilih tidak ditambahkan ke kanan, tetapi ke bawah:

Ia dilakukan dengan cara yang sama, tetapi kod makro pengendali berubah sedikit:

Subsheet_Tukar Peribadi(Sasaran ByVal Sebagai Julat) Pada Ralat Sambung semula Seterusnya Jika Tidak Bersilang(Sasaran, Julat("C2:F2")) Tiada Apa-apa Dan Sasaran.Cells.Count = 1 Kemudian Application.EnableEvents = Palsu Jika Len(Target.Offset (1, 0)) = 0 Kemudian Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target Tamat Jika Target.ClearContents Application.EnableEvents = True End Jika End Sub  

Sekali lagi, jika perlu, gantikan julat sensitif senarai juntai bawah C2:F2 dengan anda sendiri dalam baris kedua kod ini.

Pilihan 3. Dengan pengumpulan dalam sel yang sama

Dalam pilihan ini, pengumpulan berlaku dalam sel yang sama di mana senarai juntai bawah terletak. Elemen yang dipilih dipisahkan oleh mana-mana aksara tertentu (contohnya, koma):

Senarai juntai bawah dalam sel hijau dibuat dengan cara standard sepenuhnya, seperti dalam kaedah sebelumnya. Semua kerja dilakukan, sekali lagi, oleh makro dalam modul helaian:

Sub Helaian Kerja Peribadi_Tukar(Sasaran ByVal Sebagai Julat) Pada Ralat Sambung semula Seterusnya Jika Tidak Bersilang(Sasaran, Julat("C2:C5")) Tiada Apa-apa Dan Sasaran.Cells.Count = 1 Kemudian Application.EnableEvents = Palsu newVal = Aplikasi Sasaran.Buat asal oldval = Target Jika Len(oldval) <> 0 Dan oldval <> newVal Then Target = Target & "," & newVal Else Target = newVal End If If Len(newVal) = 0 Then Target.ClearContents Application.EnableEvents = True End If Tamat Sub  

Jika mahu, anda boleh menggantikan aksara pemisah (koma) dalam baris ke-9 kod dengan anda sendiri (contohnya, ruang atau koma bernoktah).

  • Bagaimana untuk mencipta senarai juntai bawah yang mudah dalam sel helaian excel
  • Senarai jatuh turun dengan kandungan
  • Senarai jatuh turun dengan pilihan yang hilang ditambah
  • Apakah makro, cara menggunakannya, tempat untuk memasukkan kod makro dalam Visual Basic

Sila tinggalkan balasan anda