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

Bagaimana cara menampilkan item pertama dalam daftar drop-down alih-alih kosong?

doc daftar drop-down default ke 1 teratas

Drop down list di worksheet dapat membantu kita untuk mempermudah entri data, kita hanya perlu memilih item tanpa mengetiknya satu per satu. Tetapi, kadang-kadang, ketika Anda mengklik daftar drop-down, itu melompat ke item kosong terlebih dahulu daripada item data pertama seperti gambar berikut yang ditampilkan, ini mungkin disebabkan oleh penghapusan data sumber di akhir daftar. Mungkin mengganggu jika Anda harus menggulir kembali ke atas daftar panjang untuk setiap sel validasi data kosong. Artikel ini, saya akan berbicara tentang bagaimana selalu menampilkan item pertama dalam daftar drop-down.

Tampilkan item pertama dalam daftar drop-down alih-alih kosong dengan fungsi Validasi Data

Secara otomatis menampilkan item pertama dalam daftar drop-down, bukan kosong dengan kode VBA


panah gelembung kanan biru Tampilkan item pertama dalam daftar drop-down alih-alih kosong dengan fungsi Validasi Data


Sebenarnya, untuk mencapai pekerjaan ini, Anda hanya perlu menerapkan rumus tertentu saat membuat daftar drop-down, lakukan hal berikut:

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

doc daftar drop-down default ke 2 teratas

2. Di muncul keluar Validasi Data kotak dialog, di bawah Settings tab, pilih Daftar dari mengizinkan bagian, lalu masukkan rumus ini: = OFFSET (Sheet3! $ A $ 1,0,0, COUNTA (Sheet3! $ A: $ A) -1,1) ke dalam sumber kotak teks, lihat tangkapan layar:

Note: Dalam rumus ini, Sheet3 adalah lembar kerja yang berisi daftar data sumber, dan A1 adalah nilai sel pertama dalam daftar.

doc daftar drop-down default ke 3 teratas

3. Lalu klik OK tombol, sekarang, ketika Anda mengklik sel daftar drop-down, item data pertama selalu ditampilkan di bagian atas apakah ada nilai sel yang dihapus di akhir data sumber, lihat tangkapan layar:

doc daftar drop-down default ke 4 teratas


panah gelembung kanan biru Secara otomatis menampilkan item pertama dalam daftar drop-down, bukan kosong dengan kode VBA

Di sini, saya juga dapat memperkenalkan kode VBA yang dapat membantu Anda menampilkan item pertama dalam daftar drop-down secara otomatis saat Anda mengklik sel validasi data.

1. Setelah memasukkan daftar drop-down, pilih tab lembar kerja yang berisi daftar drop-down, dan klik kanan untuk memilih Lihat kode dari menu konteks untuk pergi ke Microsoft Visual Basic untuk Aplikasi jendela, lalu salin dan tempel kode berikut ke dalam Modul:

Kode VBA: Secara otomatis menampilkan item data pertama dalam daftar drop-down:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20160725
    Dim xFormula As String
    On Error GoTo Out:
    xFormula = Target.Cells(1).Validation.Formula1
    If Left(xFormula, 1) = "=" Then
        Target.Cells(1) = Range(Mid(xFormula, 1)).Cells(1).Value
    End If
Out:
End Sub

doc daftar drop-down default ke 5 teratas

2. Kemudian simpan dan tutup jendela kode, dan sekarang, ketika Anda mengklik sel daftar drop-down, item data pertama akan ditampilkan sekaligus.


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 (9)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Setelah gulir ke bawah pilih ke sel data numerik tidak datang secara seri hanya data sel pertama yang datang pilih 1,2 sel yang berbeda dan gulir ke bawah nilai tidak datang 1,2,3,4,5 ....... hanya nilai sel pertama yang datang 1,1,1,1,....
Komentar ini diminimalkan oleh moderator di situs
pilih sel tempat Anda meletakkan item daftar
kisaran untuk listitem adalah "Opleiding"
dalam kode VBA Anda:

seleksi.Nilai = Range("opleiding").Sel(2, 1)

hasilnya adalah item yang dipilih dari listItem adalah item kedua dalam rentang "Opleiding"
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara mengatur daftar validasi data sehingga jika nilai drop-down dalam sel dihapus, sel akan secara otomatis menampilkan nilai default (yaitu "-Pilih-")?

Misalnya, saya memiliki lembar kerja dengan beberapa daftar drop-down yang ingin saya perlihatkan nilai default "-Pilih-" setelah lembar dibuka. Seorang pengguna akan memilih nilai dari daftar yang akan mempengaruhi hasil perhitungan di seluruh spreadsheet. Seorang pengguna mungkin secara tidak sengaja "menghapus" isi sel. Jika ini terjadi, daripada sel menjadi kosong, saya ingin sel menunjukkan nilai default "-Pilih-". Skenario ini terjadi di beberapa lokasi acak di seluruh spreadsheet, tidak hanya di satu tempat yang dilokalkan.

Saya dapat menemukan kode VBA berikut sejauh ini, tetapi saya hanya menemukan cara untuk menerapkan konsep pada suatu rentang, daripada hanya sel yang berisi daftar drop-down. Masalah dengan apa yang saya kodekan sejauh ini adalah bahwa setiap sel kosong dalam rentang berakhir dengan "-Pilih-" di dalamnya.

Opsi Eksplisit

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan cel Sebagai Rentang
' Jika Target.Cells.Count > 1 Kemudian Keluar Sub
Jika Tidak Berpotongan(Target, Rentang("f2:p17")) Tidak Ada Apa-apanya
Untuk Setiap cel Dalam Rentang("f2:p17")
Application.EnableEvents = Salah
If IsEmpty(cel.Value) Kemudian cel.Value = "-Pilih-"
Cel berikutnya
End If
Application.EnableEvents = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo!

Bagaimana cara mengatur daftar validasi data sehingga jika nilai drop-down dalam sel dihapus, sel akan secara otomatis menampilkan nilai default (yaitu "-Pilih-")?

Misalnya, saya memiliki lembar kerja dengan beberapa daftar drop-down yang ingin saya perlihatkan nilai default "-Pilih-" setelah lembar dibuka. Seorang pengguna akan memilih nilai dari daftar yang akan mempengaruhi hasil perhitungan di seluruh spreadsheet. Seorang pengguna mungkin secara tidak sengaja "menghapus" isi sel dari daftar. Jika ini terjadi, daripada sel menjadi kosong, saya ingin sel menunjukkan nilai default "-Pilih-". Skenario ini terjadi di beberapa lokasi acak di seluruh spreadsheet, tidak hanya di satu tempat yang dilokalkan.

Saya dapat menemukan kode VBA berikut sejauh ini, tetapi itu hanya menerapkan konsep pada rentang, bukan hanya sel individual yang berisi daftar drop-down. Masalah dengan apa yang saya kodekan sejauh ini adalah bahwa setiap sel kosong dalam rentang berakhir dengan "-Pilih-" di dalamnya. Beberapa daftar berada dalam rentang, tetapi beberapa juga tersebar di seluruh lembar. Masalah yang saya alami dengan kode saya saat ini adalah bahwa setiap sel kosong dalam rentang berakhir dengan "-Pilih-" di dalamnya. Saya mencoba menerapkan ini di seluruh lembar kerja ke HANYA sel yang merupakan daftar drop-down.

Apakah yang saya coba capai bahkan mungkin?

Contoh file dapat ditemukan di sini:
https://drive.google.com/file/d/1VoO8VgFs3IJ0ALwqfk0i8gt69UE4vEKW/view?usp=sharing

Contoh kode:

Opsi Eksplisit

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan cel Sebagai Rentang
' Jika Target.Cells.Count > 1 Kemudian Keluar Sub 'mematikan ini memungkinkan beberapa sel untuk dipilih dan dihapus pada waktu yang sama
Jika Tidak Berpotongan(Target, Rentang("f2:p17")) Tidak Ada Apa-apanya
Untuk Setiap cel Dalam Rentang("f2:p17")
Application.EnableEvents = Salah
If IsEmpty(cel.Value) Kemudian cel.Value = "-Pilih-"
Cel berikutnya
End If
Application.EnableEvents = Benar
End Sub


Thanks in advance!
Komentar ini diminimalkan oleh moderator di situs
Tidak bekerja untuk saya. Saya terus mendapatkan pesan kesalahan yang mengatakan, "Ada masalah dengan rumus ini. Tidak mencoba mengetik rumus? Ketika karakter pertama adalah tanda sama dengan (+) atau minus (-), Exel mengira itu adalah rumus.... Untuk menyiasatinya, ketik apostrof (') terlebih dahulu..."
Komentar ini diminimalkan oleh moderator di situs
Sekali lagi, Anda menghemat hari! Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Lebih baik tetapi tidak cukup. Menggunakan metode =OFFSET(Sheet3!$A$1,0,0,COUNTA(Sheet3!$A:$A)-1,1) menghilangkan bagian yang kosong tetapi masih memulai Anda di bagian bawah daftar yang sangat panjang. Saya ingin itu dimulai di bagian atas daftar.
Komentar ini diminimalkan oleh moderator di situs
Untuk kode VDA, bagaimana saya bisa hanya memiliki rentang sel tertentu yang menunjukkan item pertama dalam daftar drop-down? Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Hai, Akrupa,Untuk mengatasi masalah Anda, mungkin kode VBA berikut dapat membantu Anda:

Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
'Perbarui oleh Extendoffice 20211206
Redupkan xFormula Sebagai String
Redupkan xRg Sebagai Rentang
Redupkan xStr Sebagai String
Redupkan xIndex Sebagai Integer
xIndex = 2 'Di sini menunjukkan nomor sel dari data asli, misalnya, data asli adalah A1:A10, untuk menampilkan nilai sel A2, silakan tulis 2 di sini.
Pada Kesalahan GoTo Out:
xFormula = Target.Sel(1).Validasi.Formula1
Jika Kiri(xFormula, 1) = "=" Maka
Jika Target.Value <> "" Kemudian Keluar Sub
xStr = Tengah(xFormula, 2)
Tetapkan xRg = Application.Range(xStr)
Target.Sel(1) = xRg.Sel(xIndeks).Nilai
End If
Di luar:
End Sub
Silakan dicoba, semoga bisa membantu Anda!
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan