Oleh: Hendrik Karnadi
Dalam bekerja sering kali kita dihadapkan pada keharusan membuat atau menerima file (workbook) dengan jumlah sheet yang sangat banyak.
Dalam bekerja sering kali kita dihadapkan pada keharusan membuat atau menerima file (workbook) dengan jumlah sheet yang sangat banyak.
Baru-baru ini saya menerima satu file dengan jumlah sheet sebanyak 98 sheets dengan nama-nama yang hampir sama. Karena letak sheet yang tidak berurutan (mis. sesuai topik atau abjad) maka setiap kali saya mau mencari satu sheet saya harus mengingat-ingat letak sheet tersebut. Ketika saya coba membuka VBE Sheet untuk melihat letak sheet yang saya cari ternyata urutan nama sheet di VBE Sheet tidak sama dengan yang ada dalam workbook.
Saya coba membuat macro yang bisa membuat daftar sheets yang up to date pada sheet "Daftar" yang saya letakkan pada sheet paling kiri. Up to date berarti jika kita menambah, menghapus atau memindahkan sheet maka nama sheet akan langsung terdaftar dalam, terhapus dari sheet "Daftar" dan tersusun sesuai dengan urutan sheet terakhir. Jadi jika kita ingin mencari suatu sheet maka kita cukup mengklik sheet "Daftar" dan mendouble klik nama sheet yang kita inginkan.
Macronya adalah seperti ini (pada VBE Sheet1(Daftar):
Private Sub Worksheet_Activate()
Dim Sh As Worksheet
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("Daftar").Activate
Range("A1").Select
Range("A1").CurrentRegion.ClearContents
For Each Sh In Worksheets
If Sh.Name <> "Daftar" Then
ActiveCell.Value = Sh.Name
ActiveCell.Offset(1, 0).Select
End If
Next
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets(ActiveCell.Value).Select
End Sub
Untuk mentes macro ini, kita bisa melakukan langkah-langkah berikut ini:
Menambah sheet
- Tambahkan sheet.
- Klik Sheet Daftar
- Lihat apakah sheet yang ditambahkan tersebut telah terdaftar
Menghapus sheet
- Hapus nama sheet
- Klik Sheet Daftar
- Lihat apakah sheet yang dihapus telah hilang dari daftar
Memindahkan sheet
- Pindahkan sheet dengan mendragnya dengan mouse
- Klik Sheet Daftar
- Lihat apakah urutan sheet dalam daftar telah sesuai dengan urutan atau letak sheet yang terakhir
Memilih sheet yang diinginkan
- Klik Sheet Daftar (paling kiri)
- Pilih dan Double Click nama sheet yang diinginkan
Semoga macro sederhana ini bermanfaat untuk menghemat waktu kerja kita.
No comments:
Post a Comment