Excel - Buat daftar drop down pada sel-sel tertentu

Isu

Saya ingin membuat daftar drop-down dari data di Sheet2. Saya telah mencoba kode berikut tetapi hasilnya tampaknya tidak benar. Alih-alih data dalam Sheet2 yang tercantum dalam daftar turun bawah, daftar turun bawah berisi data dari Sheet1 (yang merupakan lembar tujuan saya).

Juga, saya ingin memiliki daftar drop-down pada sel-sel tertentu di mana saya memiliki informasi tentang sel sebelumnya, yaitu daftar drop-down harus di Kolom F dari Sheet1 di mana ada informasi di Kolom E dari Sheet1 dan ulangi sampai akhir Daftar.

Dengan ini terlampir adalah file yang saya kerjakan di sini.

Larutan

Anda membuat daftar validasi dari LEMBAR KERJA LAIN memberikan nama rentang ke daftar validasi itu (dalam sheet2)

dan gunakan itu sebagai formula

Saya mencoba memodifikasi makro Anda tanpa mengganggu kecuali mengubah satu atau dua baris

Saya telah memberikan nama rentang sebagai "rangename". Anda bisa mengubahnya di makro

Jika perlu tweak sedikit lagi.

 Sub Dropdown () Dim x As Long, y As Long Dim objSelain Range Dim objDataRangeStart As Range Dim objDataRangeEnd As Range Dim rangename As String '>> Tetapkan Range Untuk Valid Data Set wsSourceList = Sheets ("Sheet2") Set wsDestList = Sheets ("Sheet1") Tetapkan objDataRangeStart = wsSourceList.Cells (1, 2) 'Mulai rentang untuk entri daftar dropdown Set objDataRangeEnd = wsSourceList.Cells (6, 2)' Kisaran akhir untuk entri daftar dropdown MsgBox objDataRangeStart MsgBox objDataRangeEnd '==== ============= Dengan Rentang Lembar Kerja ("Sheet2") (objDataRangeStart, objdatarangaeend) .Nama = "rangename" Berakhir Dengan '=============== ====== '>> Set Validasi Pada Sel Yang Diperlukan' Set objCell = wsDestList.Cells (8, 4) 'Lokasi daftar dropdown' MsgBox objCell x = 4 y = 6 Lakukan Set objCell = wsDestList.Cells (x, y) 'Lokasi daftar dropdown Dengan objCell.Validation .Delete' .Tambahkan Tipe: = xlValidateList, AlertStyle: = xlValidAlertStop, Operator: = xlBerween, Formula1: = "=" & objDataRangeStart.Address & ":" & objDataRangeEnd. Alamat '= =========================================. Menambahkan Jenis: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= rangename" '================================ ================================. IgnoreBlank = Benar .InCellDropdown = Benar .ErrorTitle = "Peringatan" .ErrorMessage = " Silakan pilih nilai dari daftar yang tersedia di sel yang dipilih. " .ShowError = True End Dengan x = x + 1 'y = y + 1 Loop Hingga x = 51 End Sub 

Terima kasih kepada venkat1926 untuk tip ini.

Artikel Sebelumnya Artikel Berikutnya

Tips