Wednesday, June 26, 2013

Membuat Daftar dan memilih Sheet

Oleh: Hendrik Karnadi

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.

Hendrik Karnadi/27-06-13

No comments:

Post a Comment