Coba tambahkan baris :
1. diawal prosedur yang dijalankan si tombol (sebelum baris perintah apapun
dalam blok prosedur tersebut)
application.screenupdating=false

2. tepat sebelum baris End Sub prosedur yang dijalankan si tombol
application.screenupdating=true

Kedua buah baris di atas sekedar me-non aktifkan dan meng-aktif-ken kembali
proses refresh layar yang sering dilakukan Excel.

---> coba dulu sampai sini, kalau sudah ok dan masih mau belajar lagi, sila
lanjut ke baris berikutnya

Jika kondisi kerja yang diinginkan adalah meng-hide yang sedang aktif dan
menampilkan sheet yang dituju, maka bisa dengan dua baris berikut :
(letakkan disetiap blok prosedur yang dijalankan si tombol)
   worksheets("nama sheet yang dituju untuk
ditampilkan").visible=xlsheetvisible
   worksheets("nama sheet tempat si tombol yang harus disembunyikan karena
pindah ke sheet lain").visible=xlsheetveryhidden

Dua bijik baris tersebut jangan dibalik, selalu lakukan visible yang
dituju, dan hide yang ditinggalkan untuk menghindari error karena tidak ada
sheet yang tampak. Excel memberi syarat bahwa selalu ada minimal satu bijik
sheet yang tampak disetiap kondisi. Termasuk kondisi ketika sebuah baris
perintah otomasi dijalankan.

--> coba dulu sampai sini, kalau sudah ok dan masih mau belajar lagi, sila
lanjut ke baris berikutnya

Dua ekor baris perintah diatas juga bisa dikumpulkan ke sebuah prosedur sub
di sebuah general module dengan scope public agar bisa digunakan oleh
banyak prosedur lain dengan mudah. Contoh :
1. di sebuah general module dibuat blok prosedur berikut :
public sub PindahSheet( sDari as string , sKe as string )
     on error resume next
     worksheets( sKe ).visible=xlsheetvisible
     worksheets( sDari ).visible=xlsheetveryhidden
     err.clear
     on error goto 0
end sub

2. diprosedur yang dijalankan tombol (dimana saja si prosedur berada asal
dalam workbook yang sama), misal untuk pindah dari sheet nya si tombol
bernama (di tab sheet) 'Kid' ke sheet bernama 'Guanteng'

public sub MilikSiTombolKeSheetGuanteng()
    PindahSheet sDari:="Kid" , sKe:="Guanteng"
end sub

--> coba dulu sampai sini, kalau sudah ok dan masih mau belajar lagi, sila
lanjut ke baris berikutnya

Langkah 1 diatas menggunakan inputan teks nama sheet yang ada di-tab sheet.
Jika nama di tab sheet diubah oleh si user, maka akan muncul error atau
salah proses. Misal, di worksheet, sheet bernama 'Kid' diganti dengan bunyi
teks lain, maka akan muncul error jika baris PindahSheet sDari:="Kid" ,
sKe:="Guanteng" pada bagian "Kid" tidak disesuaikan dengan nama sheet yang
baru tersebut (jadi bukan karena nama sheet yang baru tadi gak guanteng
yak).

Untuk menghindari hal ini, maka dibutuhkan nama object sheet alias nama
asli di worksheet.

psst.... tahu gak (kayanya kebanyakan gak mau ngeh) kalau nama sheet yang
tampak di mata user itu adalah nama panggilan saja dan bukan nama akte
kelahiran si sheet yang didaftarkan ke kantor catatan sipil Excel di area
workbook tersebut ?

nama asli si sheet bisa dilihat di project explorer yang ada di VBE.
caranya, tekan ALT F11 lalu lihat frame kiri atas yang berisi nama-nama
project beserta nama sheet yang ada dalam sebuah project. Akan tampak
seperti misalnya bunyi begini :
VBAProject (nama file excelnya )
   MS Excel object
      *Sheet1 *(*Kid*)
      *Sheet7* (Guanteng)
      Thisworkbook

Sheet yang nama panggilannya (tampak di tab sheet user) berbunyi '*Kid*'
[di-VBE tampak dikurung] memiliki nama asli akte kelahiran berbunyi '
*Sheet1*'

terus, gimana cara pakenya nama asli sheet itu ?
cara pakenya adalah dengan VBA.
misal prosedur bernama PindahSheet diubah menjadi :
public sub PindahSheet( *shtDari as worksheet* , *shtKe as worksheet* )
     on error resume next
     *shtdari*.visible=xlsheetvisible
     *shtke*.visible=xlsheetveryhidden
     err.clear
     on error goto 0
end sub

maka prosedur yag dijalankan oleh si tombol juga diubah menjadi :

public sub MilikSiTombolKeSheetGuanteng()
    PindahSheet *shtDari*:=*Sheet1 *, *sKe*:=*Sheet7*
end sub

--> coba dulu sampai sini, kalau sudah ok dan masih mau belajar lagi, cari
ditempat lain dulu ya, jarinya dah lumayan bengkak nih

;)

Wassalam,
Kid.




2014-12-30 2:53 GMT+11:00 [email protected] [belajar-excel] <
[email protected]>:

>
>
> pak HK
> makronya sudah sesuai tapi ketika saya terapkan pada banyak sell yang
> lumayan berat perpindahannya terlihat sekali, saya mohon untuk lebih di
> ringkas lagi yaitu tanpa meng xlsheetvisible semua sheet akan tetapi
> langsung ke sheet yang saya inginkan master.... bisa tidak? maturnuwuun
>
>  
>

Kirim email ke