Cara Membuat Tombol untuk Hide dan Unhide kolom diexcel dengan VBA Excel
2/08/2019
Add Comment
Assalamulalaikum Wr. Wb,
Kali ini kita akan belajar bagaiman cara membuat tombol untuk berpindah dari colom yang satu ke kolom yang lain dengan cara menyembunyikan kolom sebelumnya dan menampilkan kolom yang menjadi tujuan yang telah kita set ditombol yang kita buat, disini kita akan mendesainnya tombol tersebut menjadi seolah-olah tombol tersebut ada diposisi aktif dan nonaktif.
Untuk preview nya nanti kita akan buat tiga tombol di mana setiap tombol merupakan perwakilan dari kolom yang sudah kita set nantinya. Adapun preview dari tombol yang kita buat nantinya adalah sebagai berikut untuk posisi non aktif :
Jadi nantinya kita asumsikan setiap tombol di klik akan berubah warna menjadi biru muda dan untuk tombol lainnya akan menjadi biru yang lebih tua dan juga kolom yang aktif akan berpindah – pindah sesuai dengan kolom yang diset di tombol tersebut, untuk contoh disini saya mensetting untuk tab I (Satu) atau tombol I (Satu) saya set untuk kolom A:Q, tab II (Dua) atau tombol II (Dua) saya set untuk kolom R:AH, dan untuk tab III (Tiga) atau Tombol III (Tiga) saya set untuk kolom AI:AY.
Adapun cara pembuatan adalah sebagai berikut :
Langkah awal yang kita lakukan adalah kita membuat tombol-tombol tersebut dengan cara sebagai berikut :
1. Buka aplikasi Excel kemudian pilih tab insert kemudian pilih Shapes
Pilih shape yang akan dijadikan tombol kemudian tempatkan posisi dimana nanti tombol tersebut akan ditempatkan seperti contoh berikut :
Ulangi langkah tersebut sampai didapatkan jumlah tombol yang diperlukan kemudian setting tampilannya sesuai selera ada dengan cara mengklik kanan pada tombol tersebut kemudian pilih Format Shape :
Jika telah selesai kemudian dilanjutkan untuk menyeleksi semua tab yang telah kita buat tadi kemudian kita duplikat dengan cara setelah diseleksi semua kemudian klik copy kemudian klik paste sehingga akan kita dapatkan tombol yang baru dengan bentuk dan ukuran yang sama persis kemuan seleksi tombol yang baru tadi (hasil copy tadi) kemudian ubah warna sesual dengan selera dan juga ubah nama tombol tersebut sesuai dengan yang kita ingginkan namun perlu diingat nama ini berguna saat nanti kita membuat code vba nantinya jadi harus benar benar ya jangan asal-asal agar nantinya kita mudah menset nya. berikut previewnya :
- Klik salah satu tombol tersebut kemudian pada tab ribbon klik format kemudian klik Selection Pane,
- Akan muncul jendela disebelah kanan Selection and Visibilty
- Kita dapat memilih shape tersebut kemudian klik dua kali dan ganti nama sesuai dengan rencana sebelumnya yaitu disini saya menamai tab tab tersebut untuk yang tombol warna biru tua saya posisikan Off dan untuk yang warna biru muda saya posisikan On dan untuk membedakan tombol 1, 2 dan 3 saya tambahkan Tab1, Tab2, dan Tab3 untuk masing-masing tombol tersebut untuk detailnya silahkan lihat di gambar diatas.
Jika sudah posisikan tombol-tombol tersebut bertumpuk ke masing-masing tombol sebelumnya berikut previewnya :
Sehingga menjadi sebagai berikut :
2. Jika telah selesai setting tombol-tombol tersebut selanjutnya kita akan membuat kode VBA dengan cara aktifkan dulu tab ribbon Developer melalui File – Option – Customize Ribbon kemudian centang pada Main Tabs Developer
Kemudian klik OK, atau bisa langsung menekan tombol ALT + F11
Sehingga akan muncul jendela Microsoft Visual Basic kemudian pada VBAProject pilih dan klik kanan pilih Insert – Module
Pada modul yang muncul klik kanan pilih view code
Kemudian ketikkan code VBA sebagai berikut :
Public Sub Tabeling1()
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoCTrue
TabSatuOff.Visible = msoFalse
TabDuaOn.Visible = msoFalse
TabDuaOff.Visible = msoCTrue
TabTigaOn.Visible = msoFalse
TabTigaOff.Visible = msoCTrue
Range("A:Q").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 1
Range("R:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 1 Application.ScreenUpdating = True
Range("A:Q").Activate
Range("A4").Select
End Sub
Public Sub Tabeling2()
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoFalse
TabSatuOff.Visible = msoCTrue
TabDuaOn.Visible = msoCTrue
TabDuaOff.Visible = msoFalse
TabTigaOn.Visible = msoFalse
TabTigaOff.Visible = msoCTrue
Range("R:AH").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 2
Range("A:Q").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 2 Range("AI:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 2
Application.ScreenUpdating = True
Range("R:AH").Activate
Range("R4").Select
End Sub
Public Sub Tabeling3()
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoFalse
TabSatuOff.Visible = msoCTrue
TabDuaOn.Visible = msoFalse
TabDuaOff.Visible = msoCTrue
TabTigaOn.Visible = msoCTrue
TabTigaOff.Visible = msoFalse
Range("AI:AY").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 3
Range("A:AH").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 3
Range("AZ:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 3
Application.ScreenUpdating = True
Range("AI:AY").Activate
Range("AI4").Select
End Sub
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoCTrue
TabSatuOff.Visible = msoFalse
TabDuaOn.Visible = msoFalse
TabDuaOff.Visible = msoCTrue
TabTigaOn.Visible = msoFalse
TabTigaOff.Visible = msoCTrue
Range("A:Q").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 1
Range("R:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 1 Application.ScreenUpdating = True
Range("A:Q").Activate
Range("A4").Select
End Sub
Public Sub Tabeling2()
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoFalse
TabSatuOff.Visible = msoCTrue
TabDuaOn.Visible = msoCTrue
TabDuaOff.Visible = msoFalse
TabTigaOn.Visible = msoFalse
TabTigaOff.Visible = msoCTrue
Range("R:AH").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 2
Range("A:Q").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 2 Range("AI:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 2
Application.ScreenUpdating = True
Range("R:AH").Activate
Range("R4").Select
End Sub
Public Sub Tabeling3()
With ActiveSheet.Shapes
Set TabSatuOn = .Range(Array("Tab1On"))
Set TabSatuOff = .Range(Array("Tab1Off"))
Set TabDuaOn = .Range(Array("Tab2On"))
Set TabDuaOff = .Range(Array("Tab2Off"))
Set TabTigaOn = .Range(Array("Tab3On"))
Set TabTigaOff = .Range(Array("Tab3Off"))
End With
Application.ScreenUpdating = False
TabSatuOn.Visible = msoFalse
TabSatuOff.Visible = msoCTrue
TabDuaOn.Visible = msoFalse
TabDuaOff.Visible = msoCTrue
TabTigaOn.Visible = msoCTrue
TabTigaOff.Visible = msoFalse
Range("AI:AY").EntireColumn.Hidden = False 'Colom yang akan di Tampilan di Tab 3
Range("A:AH").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 3
Range("AZ:XFD").EntireColumn.Hidden = True 'Colom yang akan di Sembunyikan di Tab 3
Application.ScreenUpdating = True
Range("AI:AY").Activate
Range("AI4").Select
End Sub
3. Jika sudah kembali ke Microsoft Excel, kemudian pilih tombol Tab1On dan Tab1Off dengan cara klik salah satu tombol kemudian pilih tab ribbon Format selanjutnya pilih Selection Pane.
Pada Jendela Selection and Visibility pilih Tab1On dan Tab1Off dengan cara menekan tombol Ctrl bersamaan dengan memilih tombol tersebut. Sehingga Tombol 1 On dan Tombol 1 Off terseleksi seperti berikut :
Setelah itu arahkan mouse pada tombol kemudian klik kanan pilih Assign Macro :
Selanjutnya muncul jendela sebagai berikut :
Kemudian pada list yang ada pilih Tabeling1 dan klik OK
Selanjutnya untuk Tombol yang lain yaitu Tab2On dan Tab2Off caranya sama seperti diatas pilih Tabeling2 dan juga untuk Tab3On dan Tab3Off pilih Tabeling3.
Jika telah selesai klik di Cell lain kemudian coba klik ke masing masing tombol tersebut.
Disini kita telah berhasil membuat 3 tombol yang apa bila di klik akan memindahkan kolom sesuai dengan yang telah kita set tadi. Dan juga secara otomatis telah menghide dan juga mengunhide kolom yang telah kita set.
Untuk mendownload contoh file nya berikut saya sertakan link downloandnya.
DOWNLOAD DISINI
Demikianlah tutor kali ini, jika ada yang belum jelas bisa disampaikan di komentar postingan ini
Wassalamu’alaikum Wr. Wb
0 Response to "Cara Membuat Tombol untuk Hide dan Unhide kolom diexcel dengan VBA Excel"
Posting Komentar