Laufende ProgressBar

bernimoses

Mitglied
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.
 
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"?
 
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
 
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.
 
Zum veranschaulichen wie es läuft hab ich mal Code zum Testen erstellt:

Code:
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 :)
 
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?:confused:

PS: vll kann man es ja auch ohne modul machen wenn das geht dann versteh ich das vll leichter.
 
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
Code:
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
Code:
pbProgress.Min = ...
setzt du den Startwert. Mit
Code:
pbProgress.Max = ...
den Endwert.
Und während deiner Berechnungen kannst du mit
Code:
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
 
@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
 

Neue Beiträge

Zurück