Bu dosya, VBA UserForm üzerinde üç farklı ilerleme çubuğunun (renkli, normal ve API tabanlı) aynı anda nasıl çalıştırılacağını gösteren makrolu bir örnektir. Uzun süren işlemlerde kullanıcıya ilerleme durumunu göstermek isteyen makro geliştiricileri için hazırlanmıştır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: B2:E11 aralığında yer alan tek çalışma sayfasıdır. Sayfada formül bulunmaz.
- UserForm1: Üst bölümde başlık çerçevesi (Frame1, Image1, Label1, Label2), altında ProgressBar1, ProgressBar2, üç etiket (Renkli PB, Normal PB, API PB) ve Hesapla düğmesi bulunur.
- Module1: Formu açan FormAç makrosunu içerir.
Makrolar
- FormAç: UserForm1 formunu modal olarak açar.
- UserForm_Initialize: Form açılırken başlığı ayarlar ve EkranDüzenle yordamını çağırır.
- EkranDüzenle: Form boyutunu (150 x 294), çerçeve, resim ve etiket konumlarını belirler. İki ilerleme çubuğunun en küçük değerini 0, en büyük değerini 100 yapar ve başlangıçta gizler.
- CommandButton1_Click: Hesapla düğmesine basıldığında çalışır. 500000 adımlık bir döngü yürütür; her adımda yüzde oranı hesaplanır ve üç çubuk birlikte ilerletilir. ProgressBar1 için SendMessage ile çubuk rengi ve arka plan rengi ayarlanır (renkli çubuk). ProgressBar2 standart denetim olarak çalışır. Üçüncü çubuk CreateWindowEx ile user32 kütüphanesinden oluşturulan MSCtls_Progress32 penceresidir (API PB). Döngü bitince çubuklar gizlenir ve API penceresi DestroyWindow ile kapatılır.
- Image1_Click: Boş bir yordamdır, işlem yapmaz.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F8 ile makro listesini açıp FormAç makrosunu çalıştırın.
- Açılan formda Hesapla düğmesine tıklayın.
- Renkli, normal ve API çubuklarının döngü boyunca ilerleyişini izleyin.
- Kendi çalışmanızda kullanmak için Alt+F11 ile VBA düzenleyicisini açın ve döngü bölümüne kendi işlem kodunuzu yerleştirin.