Yapılan işe göre progress Bar oluşturmak

İlerleme çubuğu

Yapılan işe göre progress Bar oluşturmak

İleti#1)  admitos » 01 Tem 2009 15:54

Bir excel workbook'unda bir kaç tane makroyu peş peşe çalıştıran genel bir makro yazdım. Ancak isteğim bu işlemleri yaparken sadece ekranda Progress bar gözüksün istiyorum. Arkada 10 tane makro çalışıyor ise her makro bitişinde %10 ilerlemiş bir halde progress bar nasıl yazabilirim?
Kullanıcı avatarı
admitos
 
Adı Soyadı:yiğit sağnak
Kayıt: 01 Tem 2009 12:15
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Yapılan işe göre progress Bar oluşturmak

İleti#2)  Tarkan VURAL » 01 Tem 2009 16:01

Yapılan her bir işin toplam mesafesini progressbar bilmesi gerekli. Bunu bilemiyorsa her işi ayrı ayrı da bildirseniz olur. Her makro tamamlanmasından sonra progressbar yeni baştan başlar, son makroda da sonlanmış bitirmiş olur. Çalışmadaki kodlarınıza göre düzenlenebilir. O yüzden ezbere bir şey söylemek zor. Örneklerimizden faydalanabilirsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26765
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Yapılan işe göre progress Bar oluşturmak

İleti#3)  admitos » 01 Tem 2009 16:14

Kod: Tümünü seç
Sub ShowUserForm()
    UserForm1.Show
End Sub

Sub Main()
MsgBox "A Dosyasında (B) Olmadığından emin olunuz. ", vbInformation, "Uyarı"
    Dim PctDone As Single

    Application.Run "C"
        PctDone = (1 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "D"
        PctDone = (2 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "E"
        PctDone = (3 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "F"
        PctDone = (4 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "G"
        PctDone = (5 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "H"
        PctDone = (6 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "I"
        PctDone = (7 / 8) * 100
        UpdateProgressBar PctDone

    Application.Run "J"
        PctDone = (8 / 8) * 100
        UpdateProgressBar PctDone

    Unload UserForm1
MsgBox "merhabe", vbInformation, "Uyarı"
    Application.Run "K"
    Sheets("Hepsi").Select
    Sheets("Hepsi").Name = "kitaplık"
    ChDir "C:\Duvar\Kitaplık\Kitap"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Duvar\Kitaplık\Kitap\A.xls" _
        , FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
   
   

End Sub

Sub UpdateProgressBar(PctDone As Single)
    With UserForm1
          .FrameProgress.Caption = Format(PctDone, "0%")
        .LabelProgress.Width = PctDone * _
            (.FrameProgress.Width - 10)
    End With
 
    DoEvents
End Sub

Şeklinde bir makro yazılı durumda. Bu Makroların Hepsinde giriş bölmelerinde "Application.ScreenUpdating = False"
komutu yazmaktadır. Bu şekilde excel çalıştırdığımda işlemleri arkada yapıyor, ancak progress bar'a dair en ufak bir işlem gözükmemektedir. Yarımcı olursanız sevinirim.
Kullanıcı avatarı
admitos
 
Adı Soyadı:yiğit sağnak
Kayıt: 01 Tem 2009 12:15
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Yapılan işe göre progress Bar oluşturmak

İleti#4)  Erhan Yavuz » 01 Tem 2009 16:54

Doevents komutunu
Kod: Tümünü seç
Application.Run "H"
'lardan sonra kullanmayı denediniz mi?
☾✭ Türkçemizi tam ve doğru kullanmaktan korkmayalım..
Teşekkür etmek Erdemdir. ECYavuz


OSMANLI OYUNU (1402-1566)
http://www.excelvba.net/viewtopic.php?f=41&t=9984

EXCEL-VBA KOD BANKASI PRO.7.0
http://www.excelvba.net/viewtopic.php?f=38&t=3304
Resim
Kullanıcı avatarı
Erhan Yavuz
Site Forum Yöneticisi
 
Adı Soyadı:Erhan Yavuz
Kayıt: 15 Haz 2008 02:13
Konum: Etiler / İstanbul
Meslek: Emekli Sb.
Yaş: 59
İleti: 5695
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Etiler

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Yapılan işe göre progress Bar oluşturmak

İleti#5)  admitos » 01 Tem 2009 17:14

Evet denedim. Forum içerisindeki örneklere baktığımda genellikle bir loop ya da end if komutlarına rastladım. 8 farklı makroyu, bir loop içersindeymiş gibi çalıştırmam mümkünmüdür? Her makro komutundan sonra ProgressBar update alabilsin. Böylece tekrar başa dönebilsin. 8 farklı makrodan sonrada loop dan çıkabilsin.
Kullanıcı avatarı
admitos
 
Adı Soyadı:yiğit sağnak
Kayıt: 01 Tem 2009 12:15
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Yapılan işe göre progress Bar oluşturmak

İleti#6)  Tarkan VURAL » 01 Tem 2009 17:33

Yiğit bey dosyanızı ekler misiniz ? Dosyadaki işlemleri inceleyip çözüm sunalım.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26765
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Forum ProgressBar

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe