# Laufende ProgressBar



## bernimoses (9. Juli 2008)

Hi zusammen,

ich wollt mir eine laufende ProgressBar machen habs aber leider nich so ganz hinbekommen.
Dann hab ichs mit einer PicBox gemacht und es hat geklappt. Leider schaut das aber nicht so schön aus, und deshalb hab ich mir gedacht frag ich euch mal.

Wenn ihr den Code von der PicBox benötigt poste ich ihn gern. 

Danke schonmal für die Hilfe.


----------



## Zvoni (10. Juli 2008)

OK, ich code seit 1995 in Visual Basic (seit Version 4, und ja, sogar für Win3.11 YEAH!) aber was zur Hölle ist eine "laufende Progressbar"?


----------



## wincnc (10. Juli 2008)

Hallo

Meinst Du vielleicht so etwas?
Siehe Anhang.


----------



## bernimoses (10. Juli 2008)

ja genau sowas meine ich aber das ist ja wieder mit ner picturebox gemacht. oder geht das einfach mit ner prograssbar nicht?


----------



## NeMeSiS1987 (10. Juli 2008)

Du kannst in der Toolbox wo du die Controls zum Einfügen ins Formular zur Auswahl hast rechtsklicken und auf "additional controls"(auf deutsch vielleicht "zusätzliche steuerelemente"!?) gehen. Dort musst du "Microsoft Progressbar Control" ankreuzen.

Grüße
NeMeSiS


----------



## bernimoses (10. Juli 2008)

das weiß ich ich will ja das das ding "läuft" so wie es wincnc gesagt bzw. upgeloaded hat nur halt mit na prograssbar nicht mit ner picture box. Wenn das nicht realisierbar ist oder gar nicht geht nehm ich das halt.


----------



## NeMeSiS1987 (11. Juli 2008)

Zum veranschaulichen wie es läuft hab ich mal Code zum Testen erstellt:


```
Public Sub test()
    Dim i As Integer
    With UserForm1
        .pbProgress.Min = 1
        .pbProgress.Max = 10000
        Call .Show(False)
        .Repaint
        For i = 1 To 10000
            ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = Rnd() * 100
            .pbProgress.Value = i
        Next
        .Hide
    End With
    
End Sub
```

Da brauchst um den Code zu testen wie du siehst eine Userform namens "UserForm1" mit einem Progressbar namens "pbProgress" und ein "Sheet1". Dann packst du diesen Code in irgendein Modul und es sollte laufen


----------



## bernimoses (11. Juli 2008)

sry ich bekomms nich hin.
Also ich hab eine neie Form gemacht mit dem Name UserForm1. Dann habe ich die commoncontrals eingebunden und die Prograssbar auf die form gesetzt, mit dem namen pbProgress. Dann ein modul erstellen (name egal) und den Code eingefügt. (was ein sheet ist weiß ich nicht sry). Habs ausprobiert geht nicht vll liegts ja an dem sheet. 

Kannst du mir bitte helfen?

PS: vll kann man es ja auch ohne modul machen wenn das geht dann versteh ich das vll leichter.


----------



## NeMeSiS1987 (14. Juli 2008)

Sry, hab nicht so ganz mitgedacht...
Da ich grad in VBA für Excel programmiere, habe ich das Beispiel dafür ausgelegt. Das heißt für dich anstatt der Zeile

```
ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = Rnd() * 100
```
musst du deine Berechnungen durchführen bzw. Befehle ausführen.
Nochmal zum Prinzip der Progressbar:
Mit

```
pbProgress.Min = ...
```
setzt du den Startwert. Mit

```
pbProgress.Max = ...
```
den Endwert.
Und während deiner Berechnungen kannst du mit

```
pbProgress.Value = ...
```
den aktuellen Wert bzw. Prozentsatz bei dem die Progressbar steht setzen.

Was berechnest du eigentlich während die Progressbar angezeigt werden soll? Wenn du zum Beispiel auf eine bestimmte Anzahl von Datensätzen einen oder mehrere Befehle ausführst kannst du das relativ einfach durch die Progressbar anzeigen lassen. In diesem Fall würdest du den Startwert(Min) auf 0 setzen und den Endwert(Max) auf die Anzahl der zu bearbeitenden Datensätze. In der Schleife setzt du dann in jedem Durchlauf den aktuellen Wert(Value) auf die Nummer des aktuellen Datensatzes. 
Trifft das auf dein Problem zu? Wenn nicht, wozu brauchst du den Balken?

Grüße
NeMeSiS


----------



## ronaldh (14. Juli 2008)

@bernimoses: Das Beispiel von wincnc ist doch prima. Da VB nun mal über so ein Control standardmäßig nicht verfügt, kann man das sich wohl nur mit einer Picturebox anfertigen. Ansonsten kannst Du nur im Netz mal suchen, ob jemand dafür ein fertiges Control anbietet.

@nemesis: Ich denke, bernimoses kennt die normale Progressbar ganz gut, das hat er ja geschrieben. Er will eigentlich genau das, was winvnc hochgeladen hat.

Grüsse
ronaldh


----------



## bernimoses (14. Juli 2008)

Ja, ich kenn due funktionsweise der Progressbar, und ja das Beispiel von winvnc fand ich gut und habs jetzt auch hergenommen, nur hab ich noch das bild etwas schöner gemacht, d.h. progressbar kopiert und vier bilder gemacht einmal balken einmal hintergrund und enmal ende und enmal anfang (kleine mini schnipssel). Aber nun zum Thema zurück ich wolte eigendlich nur schaun ob es jmd weiß ob man es nur mit reinen Progressbar controll auch hinbekommt. Aber anscheinend nicht egal. 

PS: Gibt es bei der Progressbar 2 Values wenn ja dann ist es ja einfach.


----------



## ronaldh (14. Juli 2008)

Die Progressbar ist eine reine Fortschrittsanzeige. Die ist natürlich nicht hilfreich, wenn man nicht genau weiß, wie weit man ist oder wie lange ein Vorgang dauert.

Grüsse
ronaldh


----------

