Note: The other languages of the website are Google-translated. Back to English

 Bagaimana cara membuat daftar drop-down tetapi menunjukkan nilai yang berbeda di Excel?

Di lembar kerja Excel, kita dapat dengan cepat membuat daftar drop-down dengan fitur Validasi Data, tetapi, pernahkah Anda mencoba menampilkan nilai yang berbeda saat mengklik daftar drop-down? Misalnya, saya memiliki data dua kolom berikut di Kolom A dan Kolom B, sekarang, saya perlu membuat daftar drop-down dengan nilai-nilai di kolom Name, tetapi, ketika saya memilih nama dari daftar drop-down yang dibuat, yang sesuai nilai di kolom Angka ditampilkan seperti gambar berikut yang ditampilkan. Artikel ini akan memperkenalkan detail untuk menyelesaikan tugas ini.

doc dropdown nilai yang berbeda 1

Buat daftar drop-down tetapi tunjukkan nilai yang berbeda di sel daftar drop-down


Buat daftar drop-down tetapi tunjukkan nilai yang berbeda di sel daftar drop-down

Untuk menyelesaikan tugas ini, lakukan langkah demi langkah berikut:

1. Buat nama rentang untuk nilai sel yang ingin Anda gunakan di daftar drop-down, dalam contoh ini, saya akan memasukkan nama dropdown di nama Box, lalu tekan Enter kunci, lihat tangkapan layar:

doc dropdown nilai yang berbeda 2

2. Kemudian pilih sel tempat Anda ingin menyisipkan daftar drop-down, dan klik Data > Validasi Data > Validasi Data, lihat tangkapan layar:

doc dropdown nilai yang berbeda 3

3. di Validasi Data kotak dialog, di bawah Settings tab, pilih Daftar dari mengizinkan drop down, lalu klik doc dropdown nilai yang berbeda 5 tombol untuk memilih daftar Nama yang ingin Anda gunakan sebagai nilai drop-down di sumber kolom tulisan. Lihat tangkapan layar:

doc dropdown nilai yang berbeda 4

4. Setelah memasukkan drop down list, silahkan klik kanan tab lembar aktif, lalu pilih Lihat kode dari menu konteks, dan di buka Microsoft Visual Basic untuk aplikasi jendela, salin dan tempel kode berikut ke dalam Modul kosong:

Kode VBA: Menampilkan nilai yang berbeda dari daftar drop-down:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    selectedNa = Target.Value
    If Target.Column = 5 Then
        selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End Sub

doc dropdown nilai yang berbeda 6

Note: Pada kode di atas, angka 5 dalam Jika Target.Column = 5 Maka script adalah nomor kolom tempat daftar drop-down Anda,, "dropdown" di dalam selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("dropdown"), 2, False) kode adalah nama rentang yang telah Anda buat pada langkah 1. Anda dapat mengubahnya sesuai kebutuhan.

5. Kemudian simpan dan tutup kode ini, sekarang, ketika Anda memilih item dari daftar drop-down, nilai yang relatif berbeda ditampilkan di sel yang sama, lihat tangkapan layar:

doc dropdown nilai yang berbeda 7


Demo: Buat daftar drop-down tetapi tunjukkan nilai yang berbeda di Excel

Kutools untuk Excel: dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari. Unduh dan uji coba gratis Sekarang!

 


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah

 

Urutkan komentar berdasarkan
komentar (42)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Bisakah ini dilakukan pada lembar yang berbeda? Maksud saya, pada sheet1 dropdown dan pada sheet2 kisarannya. Bagaimana saya harus mengkodekan ini? Terima kasih sebelumnya. Tina.
Komentar ini diminimalkan oleh moderator di situs
Bagaimana jika saya ingin melakukan lebih dari satu dropdown yang mengembalikan nilai berbeda pada lembar kerja yang sama? Bisakah Anda menunjukkan kepada saya contoh pengkodean untuk dua atau lebih?
Komentar ini diminimalkan oleh moderator di situs
Lee Ann

Jika Anda hanya menyalin dan menempelkan kode dari If ke EndIf dan mengubah kolom # dan Tabel, itu akan berfungsi:


Sub Worksheet_Change (Target ByVal Sebagai Rentang)
dipilihNa = Target.Nilai
Jika Target.Column = 5 Maka
selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("dropdown"), 2, False)
Jika Tidak IsError(selectedNum) Kemudian
Target.Nilai = Jumlah yang dipilih
End If
End If
Jika Target.Column = 9 Maka
selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown1"), 2, False)
Jika Tidak IsError(selectedNum) Kemudian
Target.Nilai = Jumlah yang dipilih
End If
End If
End Sub

Saya tidak mengatakan ini adalah cara yang benar tetapi ini berhasil pada versi pengujian saya. Saya menggunakan Excel 2013
Komentar ini diminimalkan oleh moderator di situs
Baru saja mencobanya. Dan itu berhasil!! Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai, tolong, itu tidak berfungsi, bisakah Anda menempelkan di sini semua kode untuk 2 kolom?
Komentar ini diminimalkan oleh moderator di situs
Tony: Benar, tetapi langkah selanjutnya adalah menghindari mendorong: a) pelanggaran Prinsip KERING (dan karena itu meningkatkan: a.1) kemungkinan kesalahan dan biaya untuk memperbaikinya dan a.2) biaya potensi perubahan/peningkatan di masa mendatang) oleh tidak mendorong pemrograman "Salin-Tempel" dengan menunjukkan bagaimana itu dapat "difaktorkan ulang" untuk mengurangi kode duplikat, dan b) konstanta literal ("ajaib" "angka" / "string") hard-coded dengan mendeklarasikan dan menggunakan Konstanta Bernama yang jauh lebih sulit untuk salah ketik tanpa memicu kesalahan kompiler. Satu-satunya hal yang berbeda antara dua blok kode yang disalin-tempel adalah kolom #s dan nama rentang, jadi sebisa mungkin, semua yang lain tidak boleh digandakan, jadi, sebagai gantinya, kodenya harus, misalnya, menjadi:

' -- CATATAN: Deklarasikan "EmptyString" dalam Modul deklarasi global.
Const Publik EmptyString sebagai String = ""

' -- Kolom #s. CATATAN: Dalam praktiknya, misalnya, "Col5Header" akan menjadi, misalnya, "ProductID", dan "Col9Header" akan menjadi, misalnya, "SalesID".
Const Pribadi Col5HeaderColumnNumber Sebagai Integer = 5
Const Pribadi Col9HeaderColumnNumber Sebagai Integer = 9

' -- Nama Rentang Daftar Turun Bawah Kolom
Const Pribadi Col5HeaderDropDownRangeName sebagai String = "col5HeaderDropDownRangeName"
Const Pribadi Col9HeaderDropDownRangeName sebagai String = "col9HeaderDropDownRangeName"

Sub Lembar Kerja_Ubah _
( _
Target ByVal Sebagai Rentang _
)

' -- MULAI Untuk kolom = yang berlaku, tarik ID untuk deskripsi yang dipilih dari daftar drop-down.
Redupkan dropDownListRangeName sebagai String
dropDownListRangeName = EmptyString
Pilih Sasaran Kasus.Kolom
Kasus Col5HeaderColumnNumber
dropDownListRangeName = Col5HeaderDropDownRangeName
Kasus Col9HeaderColumnNumber
dropDownListRangeName = Col9HeaderDropDownRangeName
Pilih Akhir ' -- Target Kasus.Kolom
Jika (dropDownListRangeName <> EmptyString) Kemudian
Redupkan selectedId sebagai String
selectedId = Application.VLookup(selectedNa, ActiveSheet.Range(dropDownListRangeName), 2, Salah)
Jika Bukan IsError(selectedId) Kemudian
Target.Value = Id terpilih
Akhiri Jika ' -- Bukan IsError(selectedId)
End If ' -- (dropDownListRangeName <> EmptyString)
-- END Untuk =columns yang berlaku, tarik ID untuk deskripsi yang dipilih dari daftar drop-down.

End Sub
Komentar ini diminimalkan oleh moderator di situs
Tidak ada yang lebih membuat frustrasi daripada mengetik pertanyaan terperinci hanya untuk membuatnya terpesona. Jika Anda mengetik kode 6 digit yang salah untuk memverifikasi manusia Anda, itu menghapus pesan yang diposting. Mungkin ingin memperbaikinya. Sekarang komentar saya adalah ini: Saya mencoba melakukan hal yang sama persis seperti yang Anda tunjukkan dalam video dan instruksi tertulis dan yang saya dapatkan hanyalah ketika saya memilih nama dalam daftar adalah nama dan bukan nomornya. Juga, bagaimana ini bekerja karena validasi data harus membatasi pilihan hanya pada apa yang ada dalam daftar. Bagaimana ini menipu sistem? Di masa lalu saya selalu harus menetapkan kode vba ke tombol atau pintasan, bagaimana kode ini diaktifkan? Bagaimana Anda menguji untuk memastikan itu berfungsi?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara kerja rumus saat Anda ingin menambahkan data pada lembar terpisah di buku kerja? Saya ingin menyembunyikan data.
Komentar ini diminimalkan oleh moderator di situs
Ganti disini gan!
selectedNum = Application.VLookup(selectedNa, Worksheets("YourSheetName").Range("dropdown"), 2, False)
Komentar ini diminimalkan oleh moderator di situs
"YourSheetName" membuat referensi ke lembar yang berisi rentang data atau lembar tempat saya ingin menggunakan daftar dropdwon?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara kerja rumus saat Anda ingin membuat daftar data pada lembar/tab terpisah di buku kerja?
Komentar ini diminimalkan oleh moderator di situs
ini tidak berfungsi di versi excel-kedaluwarsa saat ini. Validasi data kemudian daftar tidak lagi muncul di vba karena objek excel sudah mencoba beberapa kali dan tidak muncul.
Komentar ini diminimalkan oleh moderator di situs
Dalam contoh ini, bagaimana jika Anda ingin melihat nilai di setiap sel di 5, tetapi menempatkan nilai di sel yang berdekatan di 6
Komentar ini diminimalkan oleh moderator di situs
Bagaimana kode Perlu Diubah jika saya ingin membuat referensi/tautan di E1 ke sumber daftar Dropdown berdasarkan nilai yang dipilih?
Keuntungannya adalah Jika terjadi perubahan pada sumber dropdown (misalnya "Henrik" => "Hendrik" perubahan akan secara otomatis tercermin dalam E1.
Komentar ini diminimalkan oleh moderator di situs
Adakah yang tahu cara membuatnya berfungsi di lembar google?
Komentar ini diminimalkan oleh moderator di situs
saya ingin memilih beberapa opsi dari daftar dropdown.
hasilnya seperti ini: AA1001, BB1002
apa itu mungkin?
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda menemukan solusi?
Komentar ini diminimalkan oleh moderator di situs
Apakah daftar data Anda ada di rumah lain, apakah seri kodenya? Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
cómo buscar un valor hacia la izquierda
Komentar ini diminimalkan oleh moderator di situs
Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
dipilihNa = Target.Nilai
Jika Target.Column = 5 Maka

Sheets("Nombre de la hoja en donde esta la lista").Aktifkan
selectedNum = Application.VLookup (selectedNa, ActiveSheet.Range ("dropdown"), 2, False)
Sheets("Nombre de la hoja en donde estas trabajando").Aktifkan
Jika Tidak IsError(selectedNum) Kemudian
Target.Nilai = Jumlah yang dipilih
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Seseorang tahu cara mencari nilai dari kanan ke kiri
Komentar ini diminimalkan oleh moderator di situs
Saya perlu menggunakan dropdown yang sama di lebih dari satu kolom, apa kodenya?
Komentar ini diminimalkan oleh moderator di situs
Hai!
Ini sangat berguna! Terima kasih!
Saya menjalankan dalam situasi di mana sel tidak memperbarui secara otomatis atau saat menggunakan fungsi penyegaran. Saya harus mengklik di sel lain dan kemudian mengklik kembali sel yang sedang bekerja untuk membuatnya menampilkan nilainya.
Saat ini saya bekerja dengan Office Standard 2019. Adakah yang tahu jika masalah ini terkait dengan versi di excel yang saya gunakan?
Komentar ini diminimalkan oleh moderator di situs
Hai,
Kode berfungsi dengan baik jika kita mendefinisikan daftar dan membuat drop-down di lembar yang sama.
Tapi bagaimana kita bisa mencapai mendefinisikan daftar nilai dan kode dalam satu lembar dan drop-down yang dibuat di lembar lain?
Kode yang sama ini tidak berfungsi seperti yang ditampilkan dan kesalahan pada baris ini ("selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)").
Juga, saya memiliki persyaratan seperti, jika saya memiliki beberapa daftar yang ditentukan dalam satu lembar dengan ID dan Nama dan beberapa drop-down di lembar lain di mana satu nilai drop-down bergantung pada nilai yang dipilih di drop-down lain.

Semoga Anda mengerti pertanyaan saya.

Tolong bantu saya dalam menyelesaikan masalah ini.
Komentar ini diminimalkan oleh moderator di situs
Ini sangat membantu saya, terima kasih. Karena meja saya berada di lembar yang berbeda dari kotak daftar saya, saya menambahkan beberapa baris kode untuk mencapai itu dan juga untuk menjaga layar agar tidak berkedip.

Application.ScreenUpdating = Salah
Sheets("SheetWithTableOnIt").Aktifkan

Sheets("SheetWithDropDownListOnIt").Aktifkan
Application.ScreenUpdating = Benar
Komentar ini diminimalkan oleh moderator di situs
di mana tepatnya Anda menambahkan kode ini?
Komentar ini diminimalkan oleh moderator di situs
Saya mendapatkan kesalahan Kompilasi: Kesalahan sintaks pada baris "Jika Trarget.Column = 6 Lalu" ketika saya mencoba menggunakan kode? Ada ide kenapa?
Komentar ini diminimalkan oleh moderator di situs
Ini berfungsi tetapi ketika Anda keluar dari file dan membukanya lagi, itu tidak berfungsi ... tidak dapat disimpan sebagai .xls hanya sebagai .xlsm apakah ada solusi untuk itu? terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo, Marko, Setelah menyalin dan menempelkan kode di buku kerja Anda, ketika Anda menyimpan file, Anda harus menyimpannya sebagai format Buku Kerja Excel Macro-Enabled, silakan coba, terima kasih!
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan