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

Bagaimana cara menyembunyikan atau menampilkan kolom berdasarkan pilihan daftar drop down di Excel?

Saat menggunakan Excel, Anda dapat menyembunyikan atau menampilkan kolom tertentu berdasarkan pilihan daftar drop-down. Misalnya, jika Anda memilih Tidak di daftar turun bawah, kolom C ke Saya akan disembunyikan, tetapi jika Anda memilih Ya, kolom C ke Saya yang tersembunyi tidak akan disembunyikan. Lihat gambar di bawah yang ditampilkan.
Pada artikel ini, kami akan menunjukkan kepada Anda metode VBA untuk menyembunyikan atau menampilkan kolom berdasarkan pilihan daftar drop-down di Excel.

Sembunyikan atau tampilkan kolom berdasarkan pilihan daftar drop-down di Excel


Sembunyikan atau tampilkan kolom berdasarkan pilihan daftar drop-down di Excel

Seperti contoh di atas, untuk menyembunyikan atau menampilkan kolom C ke I berdasarkan pilihan daftar drop-down, lakukan hal berikut.

1. Pertama, buat daftar drop-down Anda dengan Yes dan No yang Anda butuhkan.

2. Kemudian tekan lain + F11 untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

3. Klik dua kali nama lembar terbuka saat ini di Proyek VBA bagian untuk membuka editor Kode.

4. Kemudian salin dan tempel kode VBA di bawah ini ke editor Kode.

Kode VBA: menyembunyikan atau menampilkan kolom berdasarkan pilihan daftar drop-down

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20180822
    If Target.Column = 2 And Target.Row = 3 Then
        If Target.Value = "No" Then
            Application.Columns("C:I").Select
            Application.Selection.EntireColumn.Hidden = True
        ElseIf Target.Value = "Yes" Then
            Application.Columns("C:I").Select
            Application.Selection.EntireColumn.Hidden = False
        End If
    End If
End Sub

Note: Pada kode di atas, Kolom = 2 dan Baris = 3 adalah referensi sel dari daftar drop-down, dan rentang C: I adalah kolom yang ingin Anda sembunyikan atau tampilkan,. Harap ubah sesuai kebutuhan Anda.

5. tekan lain + Q tombol secara bersamaan untuk keluar dari Microsoft Visual Basic untuk Aplikasi jendela.

Mulai sekarang, saat Anda memilih Tidak di daftar tarik-turun, semua kolom yang ditentukan disembunyikan.

Tetapi jika Anda memilih Ya di daftar drop-down, semua kolom tersembunyi segera ditampilkan.


Artikel terkait:


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 (78)
Rated 5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya punya buku kerja dan mencoba memahami kode VBA. Saya memiliki kode yang jika saya pilih dari drop down page1 itu memperlihatkan lembar kerja. Saya mencari kode yang saya pilih halaman 1 & pilih kisaran 3-5 dari drop down itu memperlihatkan lembar kerja & menampilkan 5 kolom di lembar kerja yang tidak disembunyikan. Apakah itu bisa dilakukan?
Komentar ini diminimalkan oleh moderator di situs
mendapatkan kode kesalahan saat Anda menghapus nomor input, dapatkah saya mendapatkan bantuan dengan ini?
Komentar ini diminimalkan oleh moderator di situs
Telah memodifikasi kode seperti ini



Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)


Jika Target.Column = 3 Dan Target.Row = 2 Dan Target.Value = "Tidak"

Kemudian


Application.Rows("3:90").Pilih


Application.Selection.EntireRow.Hidden = Benar


Lain


Application.Rows("3:90").Pilih


Application.Selection.EntireRow.Hidden = Salah


End If


End Sub




Tetapi masalah yang saya hadapi adalah saya tidak dapat menjawab ya tidak: karena semua baris 3 hingga 90 dipilih sehingga saya tidak dapat menjawab pertanyaan berikutnya
Komentar ini diminimalkan oleh moderator di situs
Harikumar yang terhormat,

Kode yang Anda berikan berfungsi dengan baik untuk saya. Saat memilih Tidak dari daftar drop-down (yang terletak di sel C2), baris 3:90 langsung disembunyikan. Dan memilih Ya dari daftar drop-down akan menampilkan semuanya sekaligus. Maaf saya tidak mengerti maksud dari apa yang Anda katakan tentang tidak dapat menjawab ya tidak.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih atas artikel yang bermanfaat.


Saya ingin mengambil makro ini selangkah lebih maju: Saya benar-benar membutuhkan ini, tetapi dengan peringatan bahwa kolom yang perlu saya sembunyikan tidak harus dalam rentang yang berdekatan dan dapat diidentifikasi oleh baris tertentu dalam setiap kolom.

Apa yang ada dalam pikiran saya adalah sesuatu seperti ini:
jika refcell = "a", maka sembunyikan semua kolom dengan "a" di baris 7, selain itu
jika refcell = "b", maka sembunyikan semua kolom dengan "b" di baris 7, selain itu
jika refcell = "c", maka sembunyikan semua kolom dengan "c" di baris 7 lagi
tampilkan semua kolom

Jika ini mungkin, bagaimana tampilan kode VBA?
Komentar ini diminimalkan oleh moderator di situs
hai! Apakah Anda menemukan solusi untuk ini? Mencari yang sama :D
Komentar ini diminimalkan oleh moderator di situs
John terkasih,
Kode VBA berikut dapat membantu Anda memecahkan masalah. Saat memasukkan "a" ke sel A1, semua kolom dengan "a" di baris 7 akan disembunyikan secara otomatis. Ini juga berfungsi saat memasukkan b dan c di sel A1.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRg Sebagai Rentang
Redupkan xRgTemukan Sebagai Rentang
Redupkan xRgUni Sebagai Rentang
Redupkan xFirstAddress Sebagai String
On Error Resume Next
Application.ScreenUpdating = Salah
Baris(7).SeluruhColumn.Hidden = False
Jika Target.Address = Range("A1").Address Then
Tetapkan xRg = Intersect(ActiveSheet.UsedRange, Rows(7))
Tetapkan xRgFind = xRg.Find(Target.Value, , xlValues, xlWhole, , , True)
Jika Tidak xRgFind Bukan Apa-apa Kemudian
xFirstAddress = xRgFind.Alamat
Do
Tetapkan xRgFind = xRg.FindNext(xRgFind)
Jika xRgUni Bukan Apa-apa Maka
Tetapkan xRgUni = xRgFind
Lain
Setel xRgUni = Application.Union(xRgUni, xRgFind)
End If
Loop While (Bukan xRgFind Bukan Apa-apa) Dan (xRgFind.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Hidden = Benar
End If
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Ryan yang terhormat,
Silakan coba kode VBA berikut. Saat memasukkan "a" ke sel A1, semua kolom dengan "a" di baris 7 akan disembunyikan secara otomatis. Ini juga berfungsi saat memasukkan b dan c di sel A1.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRg Sebagai Rentang
Redupkan xRgTemukan Sebagai Rentang
Redupkan xRgUni Sebagai Rentang
Redupkan xFirstAddress Sebagai String
On Error Resume Next
Application.ScreenUpdating = Salah
Baris(7).SeluruhColumn.Hidden = False
Jika Target.Address = Range("A1").Address Then
Tetapkan xRg = Intersect(ActiveSheet.UsedRange, Rows(7))
Tetapkan xRgFind = xRg.Find(Target.Value, , xlValues, xlWhole, , , True)
Jika Tidak xRgFind Bukan Apa-apa Kemudian
xFirstAddress = xRgFind.Alamat
Do
Tetapkan xRgFind = xRg.FindNext(xRgFind)
Jika xRgUni Bukan Apa-apa Maka
Tetapkan xRgUni = xRgFind
Lain
Setel xRgUni = Application.Union(xRgUni, xRgFind)
End If
Loop While (Bukan xRgFind Bukan Apa-apa) Dan (xRgFind.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Hidden = Benar
End If
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal,
Saya baru dalam hal ini. Saya tidak tahu dari kode Anda bagaimana Anda mendefinisikan a, b, dan c sebagai nilai di sel A1. Saya pada dasarnya melakukan apa yang dilakukan kode Anda, tetapi saya membutuhkan nilai A1 (atau sel lain yang ingin saya gunakan) untuk menjadi string.
Contoh:
Saya memiliki tabel (rentang sel) yang berisi 1 dari 3 nilai di Baris 3. Nilainya adalah ("Aktif", "Tidak Aktif", dan "Tertutup". Saya ingin semua kolom yang memiliki "Tidak Aktif" atau "Tertutup". " di Baris 3 untuk disembunyikan. Nilai di Baris 3 berasal dari fungsi INDEX/MATCH yang menarik dari lembar lain di buku kerja saya. Di lembar lain saya memilih 1 dari 3 nilai dari daftar drop-down.

Bagaimana saya memodifikasi kode ini untuk mencari "Tidak Aktif" atau "Tertutup" di Baris 3, dan hanya menyembunyikan kolom itu?


Terima kasih banyak sebelumnya!

Eddie
Komentar ini diminimalkan oleh moderator di situs
Edi yang terhormat,
Maaf saya tidak bisa membantu dengan ini. Anda dapat memposting pertanyaan Anda di forum kami: https://www.extendoffice.com/forum.html untuk mendapatkan lebih banyak dukungan dari profesional Excel kami.
Komentar ini diminimalkan oleh moderator di situs
Saya perlu menggunakan ini untuk Menyembunyikan 14 kolom secara bergantian berdasarkan nilai sel.
misalnya - Jika A1 = CAT, maka sembunyikan kolom J ke V

Jika A1 = BAT, Maka sembunyikan kolom I dan K ke V

Jika A1 = HAT, Maka sembunyikan kolom I, J, dan L ke P

Pada dasarnya, data saya ada di kolom I hingga V dan saya perlu menyembunyikan kolom dari rentang ini kecuali yang dipilih di sel referensi. dan sembunyikan semua jika "Semua" dipilih di sel referensi.

Saya mencoba menggunakan rumus yang sama di atas dalam satu lingkaran tetapi saya mendapatkan "kesalahan kompilasi -" Apakah ada rumus lain yang perlu saya gunakan?
Komentar ini diminimalkan oleh moderator di situs
Ruchi yang terhormat,
Maaf, saya tidak benar-benar mengerti maksud Anda “Pada dasarnya, data saya ada di kolom I hingga V dan saya perlu menyembunyikan kolom dari rentang ini kecuali yang dipilih di sel referensi. dan sembunyikan semua jika "Semua" dipilih di sel referensi.
Komentar ini diminimalkan oleh moderator di situs
Adakah yang bisa membantu:


Jika saya memasukkan nilai ke sel A1 sebagai "Tidak", saya ingin kolom D:E disembunyikan. dan jika saya memasukkan nilai sebagai "Ya", saya ingin kolom D:E ditampilkan dan kolom F:G disembunyikan
Komentar ini diminimalkan oleh moderator di situs
Anis yang terhormat,
Kode VBA ini dapat membantu Anda. Silakan coba. Terima kasih atas komentarmu.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRg Sebagai Rentang
Tetapkan xRg = Rentang("A1")
Jika xRg.Address = Target.Address Dan Target.Value = "Tidak" Maka
Columns("D:E").SeluruhColumn.Hidden = Benar
ElseIf xRg.Address = Target.Address Dan Target.Value = "Ya" Lalu
Columns("D:E").SeluruhColumn.Hidden = False
Columns("F:G").SeluruhColumn.Hidden = Benar
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Saya butuh bantuan dengan makro atau rumus excel. Adakah yang bisa membantu?
Komentar ini diminimalkan oleh moderator di situs
Saya memerlukan bantuan dengan makro serupa tetapi untuk rentang sel tertentu, bukan seluruh kolom. Bisakah ini dilakukan?
Komentar ini diminimalkan oleh moderator di situs
Kara yang terhormat,
Apakah maksud Anda "sembunyikan konten rentang sel tertentu berdasarkan nilai sel"? Silakan kirim pertanyaan Anda dengan perincian untuk membantu kami memecahkan masalah.
Komentar ini diminimalkan oleh moderator di situs
Hai, yang di sana! Saya memiliki pilihan 10 item dan saya mencoba untuk hanya menampilkan baris 57 hingga 72 ketika saya memilih salah satunya. Saya menggunakan kode berikut tetapi entah bagaimana tidak berfungsi dan dasbor saya tidak berubah sama sekali. Namun, ketika saya memasukkan sesuatu ke dalam sel acak, halaman dimuat ulang dan baris 57:72 menjadi tersembunyi. Tapi kemudian, itu tetap sama di semua pilihan saya dan saya tidak bisa menyembunyikannya lagi melalui pilihan kotak drop. Bolehkah saya tahu jika ada yang punya saran alternatif? Terima kasih sebelumnya!


Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)

Jika Target.Column = 2 Dan Target.Row = 3 Dan Target.Value = "1"

Kemudian Application.Rows("57:72").Pilih Application.Selection.EntireRow.Hidden = False

Else Application.Rows("57:72").Pilih Application.Selection.EntireRow.Hidden = True

End If

End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai,
Terima kasih atas kodenya, jika saya ingin menambahkan opsi ketiga apa sintaksnya?
Komentar ini diminimalkan oleh moderator di situs
Saya memodifikasi kode ini untuk menyembunyikan baris alih-alih kolom, dan berfungsi tetapi dengan satu masalah kecil. Saya memiliki beberapa daftar validasi data pada lembar kerja yang sama, dan ketika saya memilih nilai dari daftar lain ini, semua baris yang ditentukan dalam kode saya tampaknya muncul secara otomatis bahkan jika nilai untuk sel target disetel ke 'Tidak'. Mengapa ini terjadi dan bagaimana cara memperbaikinya?
Komentar ini diminimalkan oleh moderator di situs
Janice yang terhormat,
Maaf atas kesalahannya, silakan coba kode baru di bawah ini. Terima kasih atas komentar Anda.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika Target.Column = 2 Dan Target.Row = 3 Maka
Jika Target.Value = "Tidak" Maka
Application.Columns("C:I").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = "Ya" Lalu
Application.Columns("C:I").Pilih
Application.Selection.EntireColumn.Hidden = Salah
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Inilah yang harus saya lakukan, tetapi saya tidak ingin kolom disorot ketika saya menyembunyikan/menampilkan. Bagaimana saya bisa membangun ke dalam kode untuk pergi ke sel berikutnya?
Komentar ini diminimalkan oleh moderator di situs
Terima kasih atas artikel yang bermanfaat. Saya ingin mengambil makro ini selangkah lebih maju: Saya benar-benar membutuhkan ini, tetapi kolom yang perlu saya sembunyikan/sembunyikan tidak harus dalam rentang berkelanjutan. Kolom saya berkisar dari C hingga NC. Yang saya inginkan adalah jika saya memilih Target Value 1, ia menyembunyikan AH ke NC, dan memperlihatkan C ke AG, dan ketika saya memilih Target Value 2, ia menyembunyikan C ke AG dan juga BJ ke NC, dan memperlihatkan AH ke BI dan seterusnya tunduk pada nilai Target.
Komentar ini diminimalkan oleh moderator di situs
Pada dasarnya saya perlu tahu cara merujuk ke beberapa rentang sekaligus. Saya mencoba tetapi memberikan kesalahan. Berikut tampilannya
Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika Target.Column = 2 Dan Target.Row = 4 Maka
Jika Target.Value = "Januari" Maka
Application.Columns("AH:NC").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = " Januari " Lalu
Application.Columns("C:AG").Pilih
Application.Selection.EntireColumn.Hidden = Salah

ElseIf Target.Value = "Februari" Lalu
Application.Columns("C:AG, BJ:NC").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = " Februari " Lalu
Application.Columns("AH:BI").Pilih
Application.Selection.EntireColumn.Hidden = Salah

End If
End If
End Sub

Catatan: Ini berfungsi untuk Target.Value = " Januari ", tetapi untuk Target.Value = "February" ini menyoroti kesalahan pada baris ini => Application.Columns("C:AG, BJ:NC").Select

Selain itu, setelah bersembunyi saat memilih nilai target, itu tidak muncul saat memilih beberapa nilai target lainnya
Komentar ini diminimalkan oleh moderator di situs
Hai Maria,
Kode Anda telah dioptimalkan. Silakan coba. Semoga saya bisa membantu.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Redupkan xHRow Sebagai Integer
Tetapkan xRG = Rentang ("B4")
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Januari" Maka
Application.Columns("AH:NC").Hidden = True
Application.Columns("C:AG").Hidden = False
ElseIf Target.Value = "Februari" Lalu
Application.Columns("C:AG").Hidden = True
Application.Columns("BJ:NC").Hidden = True
Application.Columns("AH:BI").Hidden = False
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Menu tarik-turun saya ada di sel B23. Jika ya, tunjukkan dan jika tidak, sembunyikan baris 29. Ini adalah kode yang saya gunakan:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
'Diperbaharui oleh Extendoffice 20180822
Jika Target.Column = 2 Dan Target.Row = 23 Maka
Jika Target.Value = "tidak" Maka
Aplikasi.Baris (29).Pilih
Application.Selection.EntireRow.Hidden = Benar
ElseIf Target.Value = "ya" Kemudian
Aplikasi.Baris (29).Pilih
Application.Selection.EntireRow.Hidden = Salah
End If
End If
End Sub

Tapi saya berakhir dengan kesalahan run-time 438 - Objek tidak mendukung properti atau metode ini. Mengapa? Apakah ada yang salah dengan kode di atas?

Terima kasih sebelumnya atas bantuannya.
Komentar ini diminimalkan oleh moderator di situs
Hai Guinther,
Kode VBA di bawah ini dapat membantu Anda memecahkan masalah. Silakan coba. Terima kasih atas komentarmu.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Redupkan xHRow Sebagai Integer
Tetapkan xRG = Rentang ("B23")
xHrow = 29
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Tidak" Maka
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Benar
ElseIf Target.Value = "Ya" Lalu
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Salah
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai Kristal,


Saya harap Anda dapat membantu saya menyembunyikan/menampilkan banyak baris. Saya ingin menunjukkan baris 63-73 ketika YA dipilih di sel D51. Saya menggunakan yang berikut -


Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Redupkan xHRow Sebagai Integer
Tetapkan xRG = Rentang("D51")
xHRow = ("63:73")
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Tidak" Maka
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Benar
ElseIf Target.Value = "Ya" Lalu
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Salah
End If
End If
End Sub



Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai Gab,
Silakan terapkan kode VBA di bawah ini. Terima kasih atas komentarmu.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Redupkan xHRow Sebagai String
Tetapkan xRG = Rentang("D51")
xHRow = "63:73"
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Tidak" Maka
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Benar
ElseIf Target.Value = "Ya" Lalu
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Salah
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Kode yang diberikan untuk menyembunyikan/menampilkan kolom berdasarkan nilai yang dipilih dari daftar drop-down kolom lain berfungsi dengan baik. Terima kasih. Tapi itu hanya berfungsi untuk satu baris.
Bagaimana menerapkan ini untuk sisa jumlah baris yang dipilih dalam spreadsheet. Saya mengerti kita mungkin harus mendefinisikan variabel untuk nomor baris dan dalam peningkatan loop itu. Tapi saya tidak tahu sintaks untuk itu. Bisakah seseorang membantu dengan itu?
Komentar ini diminimalkan oleh moderator di situs
Hai,
Silakan coba kode VBA di bawah ini. Semoga bisa membantu.
Silakan ubah rentang yang Anda butuhkan.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Tetapkan xRG = Rentang("B3:B30")
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Tidak" Maka
Application.Columns("C:I").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = "Ya" Lalu
Application.Columns("C:I").Pilih
Application.Selection.EntireColumn.Hidden = Salah
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Terima kasih. Saya menggunakan kode dan berfungsi dengan baik, tetapi ketika saya mengetik ke dalam sel di bawah ini dan tekan enter, itu akan secara otomatis memindahkan kursor kembali ke kotak target. Apakah ada cara untuk mengatasi ini?
Komentar ini diminimalkan oleh moderator di situs
Hi Hibah,
Saya mencoba seperti yang Anda sebutkan, tetapi tidak menemukan masalah yang sama. Bisakah Anda memberi tahu saya versi Excel Anda? Terima kasih telah berkomentar.
Komentar ini diminimalkan oleh moderator di situs
Setiap kolom adalah siswa yang berbeda (2 dalam contoh ini A dan B). Saya memiliki dua dropdown (pada A1 dan B1). Masing-masing memiliki "Lulus" "Gagal" dan "Pilih Satu" sebagai opsi. Sekarang, saya berhasil membuatnya bekerja ketika memilih hanya satu dropdown (baik A1 atau B1). Saya ingin dapat memperlihatkan bidang yang disembunyikan oleh A1 setiap kali saya memilih sesuatu di B1. Tujuannya adalah untuk memilih opsi pada A1 dan mengisi baris yang tersisa. Kemudian pilih B1 dan isi baris mana saja yang tersisa (Terlepas dari pilihan A1.

Terima kasih!

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)

If Intersect(Target, Range("A1:B2")) Tidak Ada Atau Target.Cells.Count > 1 Kemudian
Keluar dari Sub

ElseIf Range("A1").Value = "Pilih Satu" Kemudian
Rows("2:15").EntireRow.Hidden = False

ElseIf Range("A1").Nilai = "Lulus" Kemudian
Rows("7").EntireRow.Hidden = False
Baris("8:15").SeluruhRow.Hidden = Benar

ElseIf Range("A1").Nilai = "Gagal" Kemudian
Baris("7").SeluruhRow.Hidden = Benar
Rows("8:15").EntireRow.Hidden = False

ElseIf Range("B1").Value = "Pilih Salah Satu" Kemudian
Rows("2:15").EntireRow.Hidden = False

ElseIf Range("B1").Nilai = "Lulus" Kemudian
Rows("7").EntireRow.Hidden = False
Baris("8:15").SeluruhRow.Hidden = Benar

ElseIf Range("B1").Nilai = "Gagal" Kemudian
Baris("7").SeluruhRow.Hidden = Benar
Rows("8:15").EntireRow.Hidden = False

End If

End Sub
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Maaf tidak dapat membantu Anda dengan itu. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Saya mendapatkan kesalahan di xHrow = (14:24")

Saya mencoba menyembunyikan atau menampilkan beberapa baris tergantung pada pilihan C4 saya. Dapatkah Anda membantu dengan apa yang saya salah?

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xRG Sebagai Rentang
Redupkan xHRow Sebagai Rentang
Tetapkan xRG = Rentang ("C4")
xHRow = ("14:24")
Jika Tidak Berpotongan (Target, xRG) Tidak Berarti
Jika Target.Value = "Ditarik" Kemudian
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Benar
ElseIf Target.Value = "Diganti" Kemudian
Application.Rows(xHRow).Pilih
Application.Selection.EntireRow.Hidden = Salah
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Kesalahannya adalah: Kesalahan run-time '91':
Objek variabel atau variabel Dengan blok tidak diatur
Komentar ini diminimalkan oleh moderator di situs
saya butuh bantuan. Mengapa ketika saya sudah menyalin formula itu ke VBA saya, dan saya mencoba memainkannya, seluruh tabel disembunyikan bukan hanya sebagian kolom yang ingin saya sembunyikan?
Terima kasih banyak atas bantuannya.
Komentar ini diminimalkan oleh moderator di situs
Halo Reza G
Kode berfungsi dengan baik dalam kasus saya. Apakah Anda keberatan melampirkan tangkapan layar rentang tabel Anda dan kode VBA setelah perubahan? Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Bonjour, j'ai le même problem...

Modifikasi kode suara VBA :

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika Target.Column = 3 Dan Target.Row = 3 Dan Target.Value = "Gestion" Maka
Application.Columns("D:E").Pilih
Application.Selection.EntireColumn.Hidden = Benar

Lain

Jika Target.Value = "Affaire nouvelle" Maka
Application.Columns("D:E").Pilih
Application.Selection.EntireColumn.Hidden = Salah

Lain

Jika Target.Value = "Avenant" Maka
Application.Columns("D:E").Pilih
Application.Selection.EntireColumn.Hidden = Salah
End If
End If
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakan kode untuk bekerja dengan baik. Terima kasih. Tetapi ketika saya memilih dari dropdown itu aktif ke kode terakhir atau pindah ke data kolom terakhir. Bagaimana cara memilih dropdown setiap kali (Kolom = 13 Dan Target. Baris = 3 kemudian) tidak bergerak dan dapat merekam data kolom berikutnya?
Terima kasih.
Contoh: Private Sub Worksheet_Change(ByVal Target As Range)
'Diperbaharui oleh Extendoffice 20180822
' Jika Target.Column = 13 Dan Target.Row = 3 Maka
Jika Target.Column = 13 Maka
Jika Target.Value = "1: Ya" Maka
Application.Columns("N:O").Pilih
Application.Selection.EntireColumn.Hidden = Salah
Application.Columns("P:S").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("V:Z").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("X:Z").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("AB:AK").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("AL").Pilih
Application.Selection.EntireColumn.Hidden = Salah
Application.Columns("AM").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = "2: Tidak" Lalu
Application.Columns("N").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("O:Z").Pilih
Application.Selection.EntireColumn.Hidden = Salah
Application.Columns("AB:AK").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("AL").Pilih
Application.Selection.EntireColumn.Hidden = Benar
Application.Columns("AM").Pilih
Application.Selection.EntireColumn.Hidden = Salah
ElseIf Target.Value = "" Kemudian
Application.Columns("N:AN").Pilih
Application.Selection.EntireColumn.Hidden = Salah
End If
End If
'Jika Target.Column = 16 Dan Target.Row = 3 Kemudian
Jika Target.Column = 16 Maka
Jika Target.Value = "Kucing" Maka
Application.Columns("V:W").Pilih
Application.Selection.EntireColumn.Hidden = Benar
ElseIf Target.Value = "Anjing" Lalu
Application.Columns("V:W").Pilih
Application.Selection.EntireColumn.Hidden = Salah
End If
End If
End Sub
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan