Progressbar Da Kayan YÜzde

Katılım
7 Aralık 2006
Mesajlar
83
Excel Vers. ve Dili
Excel 2002 ingilizce
Progress Bar A YÜzde Sİmgesİ Eklemek İstİyorum Tamamlanma GÖstergesİnİn Tam Ortasinda Onunla Beraber Kaysin İstİyorum.. Şu Atraksİyonlu Olan Varya Ondan.. Label Ekleyİp Yapilabİlİr Ama Hazir Örnek Varmi Dİye Sorayim Dedİm..
TŞk..
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
progressbar

arkadaşım herhalde progress bar dolarken içinde %48... gibi ona eş değerde ilerlemesini istiyorsun değil mi vallahi bende hiç denemedim ama herşeyin bir ilki vardır deneyeyim bakalım ne olacak... :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,254
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı incelermisiniz.
 
Katılım
7 Aralık 2006
Mesajlar
83
Excel Vers. ve Dili
Excel 2002 ingilizce
Label1.ZOrder (0)
' bu komut işe yaramıyor label progressbar ın hep arkasında kalıyor sorun burda??

Label1.Caption = Format(aa / cc * 100, "% 0")

Label1.Move Left:=10 + aa / cc * 50
' label i sağa doğru dolgu efektinin ortasında kalacak şekilde ilerletiyorum eğerki label progressbar ile aynı hizade değilse


yardım???
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
UserForm üzerine CommandButton1'i yerleştirin ve;

Kod:
Private Sub CommandButton1_Click()
    Dim BckCtrl As Control, MyCtrl As Control, CountCtrl As Control
    Dim i As Double, say As Double
    Dim Start As Long, Finish As Long
    Columns("A").ClearContents
    '
    Set BckCtrl = Controls.Add("Forms.Label.1", "BckCtrl")
    BckCtrl.Left = Me.Width * 0.05
    BckCtrl.Height = 13
    BckCtrl.Width = Me.Width * 0.9
    BckCtrl.Top = Me.Height - BckCtrl.Height
    BckCtrl.BackColor = &H8000000F
    BckCtrl.SpecialEffect = 2
    '
    Set MyCtrl = Controls.Add("Forms.Label.1", "MyCtrl")
    MyCtrl.Left = Me.Width * 0.05
    MyCtrl.Height = 10
    MyCtrl.Width = 0
    MyCtrl.Top = Me.Height - MyCtrl.Height - 0.95
    Me.Height = Me.Height + 25
    MyCtrl.Caption = ""
    MyCtrl.BackColor = &H8000000D
    '
    Set CountCtrl = Controls.Add("Forms.Label.1", "CountCtrl")
    CountCtrl.Left = (BckCtrl.Left + BckCtrl.Width) / 2
    CountCtrl.Height = 12
    CountCtrl.Width = 40
    CountCtrl.Top = BckCtrl.Top * 1.01
    CountCtrl.TextAlign = fmTextAlignLeft
    CountCtrl.Font.Bold = True
    CountCtrl.BackStyle = Transparent
    '
    say = 6000
    Start = Timer
        For i = 1 To say
            MyCtrl.Width = (BckCtrl.Width * 0.993) / say * i
            If MyCtrl.Width >= BckCtrl.Width / 2 Then CountCtrl.ForeColor = &H8000000E
            DoEvents
            CountCtrl.Caption = Int(i / say * 100) & " %"
            Cells(i, 1) = i
        Next i
    Finish = Timer
    MsgBox "Toplam süre : " & Finish - Start & " saniye"
    '
    Me.Height = Me.Height - 20
    Columns("A").ClearContents
    Me.Controls.Remove "BckCtrl"
    Me.Controls.Remove "MyCtrl"
    Me.Controls.Remove "CountCtrl"
    '
    Set BckCtrl = Nothing
    Set MyCtrl = Nothing
    Set CountCtrl = Nothing
    '
End Sub
 
Katılım
7 Aralık 2006
Mesajlar
83
Excel Vers. ve Dili
Excel 2002 ingilizce
bu kısmı böyle değiştirin..

Start = Timer
For i = 1 To say
MyCtrl.Width = (BckCtrl.Width * 0.993) / say * i
CountCtrl.ForeColor = &H8000000E
CountCtrl.Left = 10 + MyCtrl.Width / 2
DoEvents
CountCtrl.Caption = Int(i / say * 100) & " %"
Cells(i, 1) = i
Next i
Finish = Timer

istedğim böyle birşeydi.. tşk ama vb nin orjinanl progress bar componentiniyle çalışınca üstüne ne label ne image hiçbirşey getremiyor arkaplana gönderemiyorsunuz nedense progressbarı..
 
Katılım
20 Haziran 2008
Mesajlar
697
Excel Vers. ve Dili
Microsoft Office ev ve iş 2019
Altın Üyelik Bitiş Tarihi
03-07-2024
örnek dosya elinde olan varsa foruma ekleyebilirmi
 
Katılım
20 Haziran 2008
Mesajlar
697
Excel Vers. ve Dili
Microsoft Office ev ve iş 2019
Altın Üyelik Bitiş Tarihi
03-07-2024
teşekkürler Zeki bey verdiğiniz linki incelemiştim zaten diğer örneklere de bakmaya çalıştım ama çoğu forumdan silinmiş

Çalışmanız gayet güzel ben class modül ile değil daha sade daha basit bişey bakmıştım
yani buton1 tıkladığımda lütfen bekleyiniz mesajı yüzde olarak yükleme progresbar segmenti ve yükleme bittikten sonra form2 açılacak

netten bulduğum bir örnek ekte ama o da çok karışık geldi bana
 

Ekli dosyalar

Katılım
20 Haziran 2008
Mesajlar
697
Excel Vers. ve Dili
Microsoft Office ev ve iş 2019
Altın Üyelik Bitiş Tarihi
03-07-2024
yabancı bir sitede şöyle bir örnek buldum

forumdaki çoğu örnekler silindiğinden işe yaracağını düşündüm ve ekledim
 

Ekli dosyalar

Katılım
20 Haziran 2008
Mesajlar
697
Excel Vers. ve Dili
Microsoft Office ev ve iş 2019
Altın Üyelik Bitiş Tarihi
03-07-2024
UserForm üzerine CommandButton1'i yerleştirin ve;

Kod:
Private Sub CommandButton1_Click()
    Dim BckCtrl As Control, MyCtrl As Control, CountCtrl As Control
    Dim i As Double, say As Double
    Dim Start As Long, Finish As Long
    Columns("A").ClearContents
    '
    Set BckCtrl = Controls.Add("Forms.Label.1", "BckCtrl")
    BckCtrl.Left = Me.Width * 0.05
    BckCtrl.Height = 13
    BckCtrl.Width = Me.Width * 0.9
    BckCtrl.Top = Me.Height - BckCtrl.Height
    BckCtrl.BackColor = &H8000000F
    BckCtrl.SpecialEffect = 2
    '
    Set MyCtrl = Controls.Add("Forms.Label.1", "MyCtrl")
    MyCtrl.Left = Me.Width * 0.05
    MyCtrl.Height = 10
    MyCtrl.Width = 0
    MyCtrl.Top = Me.Height - MyCtrl.Height - 0.95
    Me.Height = Me.Height + 25
    MyCtrl.Caption = ""
    MyCtrl.BackColor = &H8000000D
    '
    Set CountCtrl = Controls.Add("Forms.Label.1", "CountCtrl")
    CountCtrl.Left = (BckCtrl.Left + BckCtrl.Width) / 2
    CountCtrl.Height = 12
    CountCtrl.Width = 40
    CountCtrl.Top = BckCtrl.Top * 1.01
    CountCtrl.TextAlign = fmTextAlignLeft
    CountCtrl.Font.Bold = True
    CountCtrl.BackStyle = Transparent
    '
    say = 6000
    Start = Timer
        For i = 1 To say
            MyCtrl.Width = (BckCtrl.Width * 0.993) / say * i
            If MyCtrl.Width >= BckCtrl.Width / 2 Then CountCtrl.ForeColor = &H8000000E
            DoEvents
            CountCtrl.Caption = Int(i / say * 100) & " %"
            Cells(i, 1) = i
        Next i
    Finish = Timer
    MsgBox "Toplam süre : " & Finish - Start & " saniye"
    '
    Me.Height = Me.Height - 20
    Columns("A").ClearContents
    Me.Controls.Remove "BckCtrl"
    Me.Controls.Remove "MyCtrl"
    Me.Controls.Remove "CountCtrl"
    '
    Set BckCtrl = Nothing
    Set MyCtrl = Nothing
    Set CountCtrl = Nothing
    '
End Sub
sayın Haluk beyin örnek çalışması forumdan silinmiş faydalı olur düşüncesiyle tekrar ekledim
 

Ekli dosyalar

Üst