Masih membahas tentang event Workbook, kami kali ini akan menjelaskan contoh event yaitu Workbook_SheetDeactivate yang dicetuskan pada saat worksheet lain yang berbeda dibuka atau diaktifkan dalam suatu workbook.

Sebagai contoh seperti yang ditunjukkan dalam gambar, perhatikan ada dua buah worksheet yaitu Tes1 dan Tes2, yang mana nilai Budi akan diubah pada sheet Tes1 yang semula nilai Budi adalah 5 dan urutannya berada di ranking 6 kemudian diubah menjadi 15 sehingga rankingnya menjadi 5, Excel akan mengurutkan nilai Budi setelah Anda berpindah ke sheet Tes2.

Ikuti langkah-langkah berikut untuk menyusun kode macro:

1. Buat worksheet seperti contoh untuk mempraktikkan tutorial ini.

2. Buka VBE dengan cara menekan Alt+F11, kemudian tekan Ctrl+R untuk memastikan jendela Project Explorer membuka.

3. Pada Project Explorer klik folder dengan nama Microsoft Excel Objects.

4. Dalam daftar di bawah Microsoft Excel Objects terdapat objek workbook dengan nama ThisWorkbook. Dobel-klik ThisWorkbook untuk memunculkan module workbook.

5. Pada kotak daftar pilihan Object pilih Workbook.

6. Pada kotak daftar pilihan Procedure pilih SheetDeActivate.

7. Tepat di bawah Private Sub Workbook_SheetDeActivate gunakan fungsi logis:

If TypeName(Sh) = "Worksheet" Then

8. Tetapkan kolom B untuk menjalankan perintah Sort dimulai dari sel B2 ke bawah sepanjang kolom: 

Sh.Range("B1").CurrentRegion.Sort Key1:=Sh.Range("B2"), _

9. Urutkan mulai dari nilai tertinggi dulu jadi gunakan Descending dan gunakan judul header:

Order1:=xlDescending, Header:=xlYes

10. Akhiri fungsi logis:

End If

11. Kode lengkapnya menjadi sebagai berikut:

Private Sub Workbook_SheetDeActivate(ByVal Sh As Object)
If TypeName(Sh) = "Worksheet" Then
Sh.Range("B1").CurrentRegion.Sort Key1:=Sh.Range("B2"), _
Order1:=xlDescending, Header:=xlYes
End If
End Sub

9. Kembali ke worksheet dengan cara menekan Alt+Q.

10. Silakan Anda uji coba macro yang Anda buat dan amati perubahan urutannya.

Demikian pembahasan tentang cara mengurutkan nilai secara otomatis sewaktu berpindah ke sheet lain, semoga postingan ini bermanfaat.