Excel - Buat senarai drop down pada sel-sel tertentu

Isu

Saya ingin membuat senarai drop down dari data di Sheet2. Saya telah mencuba kod berikut tetapi keputusannya tidak betul. Daripada data dalam Sheet2 yang disenaraikan dalam senarai drop-down, senarai drop-down mengandungi data dari Sheet1 (yang merupakan helaian destinasi saya).

Juga, saya ingin mempunyai senarai drop-down di sel-sel tertentu di mana saya mempunyai maklumat mengenai sel-sel sebelum ini, iaitu senarai drop-down harus berada di ruangan F Sheet1 di mana terdapat maklumat di Lajur E Sheet1 dan ulangi sehingga akhir senarai.

Yang dilampirkan adalah fail yang saya buat di sini.

Penyelesaian

Anda membuat senarai pengesahan dari ANOTHER WORKSHEET memberikan nama julat ke senarai pengesahan (dalam sheet2)

dan menggunakannya sebagai formula

Saya cuba mengubah suai makro anda tanpa mengganggu kecuali menukar satu atau dua baris

Saya telah memberikan nama julat sebagai "rangename". anda boleh mengubahnya dalam makro

Jika perlu tweak sedikit lagi.

 Sub Dropdown () Dim x As Long, y As Long Dim objCell As Range Dim objDataRangeStart As Range Dim objDataRangeEnd As Range Dim rangename As String '>> Set Range For Set Data Valid wsSourceList = Sheets ("Sheet2") Set wsDestList = Sheets ("Sheet1") Tetapkan objDataRangeStart = wsSourceList.Cells (1, 2) 'Permulaan julat untuk penyertaan senarai jatuh turun Set objDataRangeEnd = wsSourceList.Cells (6, 2)' Jangkauan akhir untuk entri senarai jatuh turun MsgBox objDataRangeStart MsgBox objDataRangeEnd '==== ============= Dengan Julukan Worksheets ("Sheet2") (objDataRangeStart, objdatarangaeend) .Name = "rangename" Akhir Dengan '=============== ====== '>> Set Validation On Cells Required' Set objCell = wsDestList.Cells (8, 4) 'Lokasi senarai lungsur' MsgBox objCell x = 4 y = 6 Adakah Set objCell = wsDestList.Cells (x, y) 'Lokasi senarai lungsur dengan objCell.Validation .Delete' .Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, Operator: = xlBetween, Formula1: = "=" & objDataRangeStart.Address & ":" & objDataRangeEnd. Alamat '= ==========================================. Jenis Tambah: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= rangename" '================================ ================================ .IgnoreBlank = Benar .CellDropdown = Benar .ErrorTitle = "Amaran" .ErrorMessage = " Sila pilih nilai dari senarai yang ada dalam sel yang dipilih. " . ShowError = Akhir Benar Dengan x = x + 1 'y = y + 1 Loop Sehingga x = 51 Akhir Sub 

Terima kasih kepada venkat1926 untuk tip ini.

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama