Bu dosya, UserForm üzerindeki Label nesnelerinin fare üzerine geldiğinde buton gibi görünmesini sağlayan örnek bir çalışmadır. Fare bir Label'ın üzerine geldiğinde zemin rengi sarıya döner, yazı kalın ve italik olur, kenarlık kabartmalı hale gelir. Fare Label'dan ayrıldığında görünüm eski haline döner.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: A2:D12 aralığında yer alan çalışma sayfasıdır; formül içermez. UserForm'u açan düğme bu sayfadadır.
- UserForm1: dört Label içerir (Label1, Label2, Label3, Label4). Etiketler KAYDET, GÜNCELLE, SİL ve KAPAT işlevleri için buton olarak kullanılır.
- Class1: Label olaylarını yakalayan sınıf modülüdür.
- Module1: Formu açan makroyu barındırır.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme veya dışarıya bağlantı gibi işlemler yoktur.- Düğme1_Tıklat (Module1): UserForm1 formunu açar. Sayfadaki düğmeye atanarak çalıştırılır.
- UserForm_Initialize: form açılırken Label1 ile Label4 arasındaki dört etiketi Class1 sınıfından oluşturulan nesnelere bağlar.
- lbl_MouseMove (Class1): fare etiketin üzerinde hareket ettiğinde BackColor değerini vbYellow yapar, yazıyı kalın ve italik hale getirir, SpecialEffect değerini 6 olarak ayarlar.
- UserForm_MouseMove: fare form zemininde hareket ettiğinde dört etiketin zemin rengini vbButtonFace, yazı biçimini normal ve SpecialEffect değerini 1 yapar. Böylece vurgu kalkar.
- Label1_Click, Label2_Click, Label3_Click: tıklanan etiketin adını belirten bir MsgBox gösterir. Gerçek kaydetme, güncelleme ve silme işlemleri için bu prosedürlere kendi kodunuz eklenir.
- Label4_Click: mesaj gösterdikten sonra formu Unload Me ile kapatır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfadaki düğmeye tıklayarak UserForm'u açın.
- Fareyi etiketlerin üzerine getirin; etiketin buton gibi vurgulandığını görürsünüz.
- Bir etikete tıklayarak ilgili mesajı görün; KAPAT etiketi formu kapatır.
- Kendi çalışmanızda etiket sayısını artırmak için Dim lbl(4) tanımını ve UserForm_Initialize ile UserForm_MouseMove içindeki döngü üst sınırını değiştirin.