Bu dosya, çalışma kitabında başka bir sayfaya geçildiğinde rastgele bir renk üreten ve bu rengi sayfa alanına yansıtan bir makro örneğidir. Her geçişte farklı bir renk elde edilir, ardından görünüm eski haline döndürülür.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sheet1, Sheet2, Sheet4, Sheet5, Sheet6: Boş çalışma sayfalarıdır; sayfa geçişleri bu sayfalar arasında denenir.
- OK it is a hack but -): Diğer sayfalarla birlikte duran üçüncü sayfadır; makro bu sayfa dahil her sayfa değişiminde çalışır.
Makrolar
- Workbook_SheetActivate (ThisWorkbook): Herhangi bir sayfa etkinleştirildiğinde otomatik çalışır ve ChangeTab_Colour makrosunu çağırır.
- ChangeTab_Colour: Rastgele bir RGB değeri üretir. Windows API işlevleri olan GetSysColor ve SetSysColors ile sistemin pencere (COLOR_WINDOW) rengini bu değere ayarlar, ShSet makrosunu çalıştırır, "Tab colour has changed!" mesajını gösterir. Mesaj kapatılınca ShReset çalışır ve önceki sistem rengi geri yüklenir.
- ShSet: Sayfadaki tüm hücreleri dolgulu hale getirir, çapraz kenarlıkları kaldırır ve iç ile dış kenarlıklara ince, açık gri çizgi uygular. Bu sayede sistem rengi hücre zemininde görünür.
- ShReset: Tüm hücrelerdeki kenarlıkları ve dolguyu temizler, ardından A1 hücresini seçer.
Nasıl kullanılır
- Dosyayı açın ve güvenlik uyarısında makroları etkinleştirin.
- Alt kısımdaki sayfa sekmelerinden başka bir sayfaya geçin.
- Rastgele renk uygulandıktan sonra çıkan mesajı görüntüleyin, ardından Tamam düğmesiyle kapatın; görünüm eski haline döner.
- Kodu kendi dosyanızda kullanmak için Alt+F11 ile VBA düzenleyicisini açıp Module1 modülünü ve ThisWorkbook içindeki olay kodunu kopyalayın.