Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ProgressBar

ProgressBar
12.11.2012 10:18:53
Snewi
Guten Morgen,
ich beschäftige mich gerade mit einer ProgressBar die ich im Netz gefunden habe!
Im Moment werden einfach mit 100 Spalten und Zeilen mit willkürlichen Zahlen gefüllt!
Ich möchte jetzt gerne den Status meiner SubAbfragen anzeigen!
Ich habe also eine Main:

Sub Main()
frm_ProgressBar.Show
Modul1.Daten1
Modul1.Daten2
Modul1.Daten3
End Sub
Wie kann ich den Code so ändern das der Status der Sub's Prozentmässig angezeigt werden?
Die Przentanzeige soll ebenfalls größer und fett sein!
https://www.herber.de/bbs/user/82590.xlsm
Gruß
Snewi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ProgressBar
12.11.2012 10:27:35
Rudi
Hallo,
.....
frmProgressBar.LabelProgress.Width = PercentComplete * frmProgressBar.Width
frmProgressBar.LabelProgress.Caption = Format(PercentComplete, "0%")
frmProgressBar.Repaint
.....

Die Przentanzeige soll ebenfalls größer und fett sein!
Dann formatiere das Label entsprechend (Font).
Gruß
Rudi

AW: ProgressBar
12.11.2012 10:43:18
Snewi
Das klappt schonmal :-)
jetzt nur noch die Anzeige meiner Sub's nach Fortschritt!
Gruß

AW: ProgressBar
12.11.2012 11:12:25
Rudi
Hallo,
das ist das gleiche in grün.
Must du nur entsprechend in deine Subs einbauen.
Gruß
Rudi

Anzeige
AW: ProgressBar
12.11.2012 11:25:16
Snewi
Sorry das verstehe ich nicht!
Also wenn ich in meiner Main die erste Sub anstosse setze ich eine Variable z.b.auf 10 diese Soll jetzt wenn die Sub durch ist auch als 10% anzeigen! Bei den weiteren Subs kann ich dann jeweils den Status bestimmen! ODer macht man das anders? Bei der Umsetzung haperts bei mir ein wenig! Wäre für Unterstützung sehr dankbar ;-)
Gruß

AW: ProgressBar
12.11.2012 11:36:51
Rudi
Hallo,
wenn du deine Codes vernünftig schreibst, brauchst du keine Progressbar, weil du sie kaum siehst.
Die ständige Aktualisierung der PB frisst nur Performance.
Mal für dein Beispiel:
Sub ShowProgressBarWithoutPercentage()
Dim Percent As Integer
Dim PercentComplete As Single
Dim MaxRow, MaxCol As Integer
Dim iRow, iCol As Integer
Dim arr()
Application.ScreenUpdating = False
MaxRow = 100
MaxCol = 100
Percent = 0
ReDim arr(1 To MaxRow, 1 To MaxCol)
'Initially Set the width of the Label as Zero
frmProgressBar.LabelProgress.Width = 0
For iRow = 1 To MaxRow
For iCol = 1 To MaxCol
arr(iRow, iCol) = iRow * iCol
Next
PercentComplete = iRow / MaxRow
frmProgressBar.LabelProgress.Width = PercentComplete * frmProgressBar.Width
frmProgressBar.LabelProgress.Caption = Format(PercentComplete, "0%")
frmProgressBar.Repaint
DoEvents
Next
Worksheets("Tabelle1").Cells(1, 1).Resize(MaxRow, MaxCol) = arr
Unload frmProgressBar
Application.ScreenUpdating = True
End Sub
Gruß
Rudi

Anzeige
AW: ProgressBar
12.11.2012 11:47:11
Snewi
Ich habs glaub ich schlecht erklärt :-( ich versuchs nochmal!
Ich habe mehrere Prozeduren, wobei jede was anderes macht!

Sub erste()
PercentStatus = 4
End Sub
Sub zweite()
PercentStatus = 10
End Sub
Sub dritte()
PercentStatus = 15
End Sub
wenn in meiner Main Prozedur alle abgearbeitet werden, will ich einfach am Ende jeder Prozedur des Prozentstatus setzen! Dieser Status soll dann in der Forms Progressbar angezeigt werden!
Am besten mit der Prozentzahl und wenn noch möglich mit dem Namen der Sub die gerade durchgelaufen ist!
Hoffe, dass es jetzt verständlicher ist :-)
Gruß

Anzeige
AW: ProgressBar
12.11.2012 12:22:14
Rudi
Hallo,
wie gesagt: das gleiche in grün
Sub erste()
Dim PercentStatus
PercentStatus = 4
With frmProgressBar
With .LabelProgress
.Width = PercentStatus * frmProgressBar.Width / 100
.Caption = PercentStatus & "%"
End With
.Repaint
End With
End Sub

Gruß
Rudi

AW: ProgressBar
12.11.2012 13:40:06
Snewi
Also muss ich das in jede Sub einbauen! Und wie sieht dann der Syntax im Forms aus?

Sub ProgressBar()
Dim Percent As Integer
Dim PercentComplete As Single
Dim MaxRow, MaxCol As Integer
Dim iRow, iCol As Integer
Application.ScreenUpdating = False
MaxRow = 100
MaxCol = 100
Percent = 0
frmProgressBar.LabelProgress.Width = 0
For iRow = 1 To MaxRow
For iCol = 1 To MaxCol
Worksheets("Tabelle1").Cells(iRow, iCol).Value = iRow * iCol
Next
PercentComplete = iRow / MaxRow
frmProgressBar.LabelProgress.Width = PercentComplete * frmProgressBar.Width
frmProgressBar.LabelPercent.Caption = Format(PercentComplete, "0%")
DoEvents
Application.Wait (Now + TimeValue("0:00:2"))
Unload frmProgressBar
Application.ScreenUpdating = True
End Sub
Gruß

Anzeige
AW: ProgressBar
13.11.2012 08:03:51
Snewi
Irgendwie versteh ich das nicht! Wenn ich den Status meine einzelnen Subs abfragen will hat das doch nix mit den Zeilen zu tun!
Gruß

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige