NS StatusBar özelliği içindeki Uygulama nesnesinin Excel VBA'sı uzun bir makronun ilerlemesini belirtmek için kullanılabilir. Bu şekilde, kullanıcıya bir makronun hala çalışmakta olduğunu bildirebilirsiniz.
Durum:
Oluşturacağımız makro, Range("A1:E20")'yi rastgele sayılarla dolduruyor.
Komut düğmesine aşağıdaki kod satırlarını ekleyin:
1. İlk olarak, Integer türünde i, j ve pctCompl adında üç değişken tanımlıyoruz.
Dim i As Integer, j As Integer, pctCompl As Integer
2. Bir Çift Döngü ekleyin.
i = 1 ila 20 için
j = 1 ila 5 için
sonraki j
sonraki ben
Aşağıdaki kod satırlarını (3, 4 ve 5'te) döngüye ekleyin.
3. 20 ile 100 arasında rastgele bir sayıyı içe aktarmak için RandBetween işlevini kullanın.
Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)
4. pctCompl değişkenini başlatın. İkinci kod satırı, durum çubuğuna pctCompl değişkeninin değerini ve bazı açıklayıcı metinleri yazar.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Veriler İçe Aktarılıyor… " & pctCompl & "Tamamlanma Yüzdesi"
Örnek: i = 3 için j = 1, (3 - 1) * 5 + (1 * 1) = %11 tamamlandı.
5. Uzun bir makroyu simüle etmek için Application nesnesinin Wait yöntemini kullanıyoruz.
Application.Wait Now + TimeValue("00:00:01")
6. Varsayılan durum çubuğu metnini geri yüklemek için StatusBar özelliğini False (döngünün dışında) olarak ayarlayın.
Application.StatusBar = Yanlış
Sayfadaki komut düğmesine tıkladığınızda sonuç:
Not: Esc veya Ctrl + Break tuşlarına basarak istediğiniz zaman bir makroyu kesebilirsiniz. Daha görsel bir yaklaşım için İlerleme Göstergesi programımıza bakın.