Menetapkan nilai default untuk daftar validasi cascading dinamis di Excel 2010


11

Saya akhirnya menemukan cara untuk membangun serangkaian daftar cascading dinamis di Excel menggunakan Validasi Data dan fungsi INDIRECT. Namun, saya mengalami masalah.

Saya ingin mengatur spreadsheet saya sehingga setiap kali perubahan dibuat dalam daftar validasi data, semua daftar berikutnya diatur ke nilai default. Sebagai contoh:

Katakanlah saya punya List1, List2, List3, dan List4. Nilai masing-masing daftar bergantung pada pilihan yang dibuat dalam daftar sebelumnya. Ketika saya memulai spreadsheet, saya ingin semua daftar default ke "ALL". Ketika pengguna memilih nilai di List1, List2 memperbarui dengan serangkaian pilihan yang valid. Saya ingin default List2 ke salah satu pilihan itu. Namun, sementara saya bisa membuat List2 mengisi dengan set pilihan pilihan yang benar, saya tidak bisa mendapatkan nilai default yang saya inginkan untuk itu.

Demikian pula, jika pengguna membuat pilihan di List1, List2, dan List3, lalu kembali dan mengubah List1, saya ingin List2-List4 secara default kembali ke "ALL".

Bagaimana saya melakukan ini?


3
Ini pekerjaan untuk pemicu acara worksheet_change VBA. Saya tidak punya waktu sekarang untuk memberikan rinciannya (nanti saya akan lakukan jika Anda masih membutuhkan bantuan), tetapi di situlah Anda harus mengarahkan penelitian Anda.
Excellll

Anda mungkin telah menyelesaikan ini sekarang atau menyerah. Saya setuju dengan Excellll bahwa acara perubahan lembar kerja mungkin yang paling mudah. Namun, dengan opsi Daftar untuk Validasi Data, sumber dapat berupa ekspresi seperti =IF(A1="List1",C1:C5,D1:D4). Saya telah menguji ini dengan nilai sel A1 yang dipilih dari daftar dan itu berfungsi dengan cara yang Anda cari.
Tony Dallimore

Apakah Anda masih mengalami masalah ini?
Tamara Wijsman

FYI, metode nonVBA yang saya terapkan untuk masalah ini adalah menerapkan pemformatan CONDITIONAL ke sel berikutnya yang memeriksa apakah nilai saat ini yang dipegang cocok dengan nilai dalam rentang ref INDIRECT () saat ini. Jika TIDAK, maka sel berubah menjadi merah, atau nilainya menghilang (huruf / latar belakang yang cocok) sehingga pengguna tahu nilai untuk sel itu harus diperbarui / dipilih kembali.
Jerry Beaucaire

Untuk menggambarkan metode VBA dan metode CF yang saya sebutkan di atas, ada file sampel di sini DependentLists3.xls
Jerry Beaucaire

Jawaban:


1

Metode nonVBA yang saya gunakan untuk masalah ini adalah menerapkan pemformatan CONDITIONAL ke sel berikutnya yang memeriksa apakah nilai saat ini yang dipegang cocok dengan nilai dalam rentang ref INDIRECT () saat ini. Jika TIDAK, maka sel berubah menjadi merah, atau nilainya menghilang (huruf / latar belakang yang cocok) sehingga pengguna tahu nilai untuk sel itu harus diperbarui / dipilih kembali.

Untuk menggambarkan ini (dan metode VBA yang disebutkan oleh orang lain di atas), ada file sampel di sini . File yang Anda inginkan adalah DependentLists3.xls

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.