Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fortschrittsbalken bei längeren Berechnungszeiten?

379 views
Skip to first unread message

Heune

unread,
May 30, 2002, 1:17:52 PM5/30/02
to
Hallo zusammen,

ich suche nach einer Möglichkeit, während einer längerwierigen
Sensitivitätsberechnung den Fortschritt der Berechnung auf dem Monitor
zu visualisieren.

Ich stelle mir nun folgende Funktionalität vor: Nachdem der Nutzer den
Button "Berechnung starten" gedrückt hat, läuft im Hintergrund die
Berechnung während ein Fenster mit Fortschrittsbalken automatisch den
Verlauf visualisiert und nach Ende der Berechnung auch automatisch
wieder verschwindet (ohne das der Nutzer zwischendurch irgendetwas
machen muss).

Die Information über den Fortschritt könnte ich aus der
Berechnungsschleife erhalten (diese wird bis zu 50 mal durchlaufen).

Wie kann ich diese Aufgabe lösen?

Dank und Gruß aus Pittsburgh!

Frank

Marco Caviola

unread,
May 31, 2002, 2:03:51 AM5/31/02
to
"Heune" <frank.h...@web.de> schrieb im Newsbeitrag
news:2eb98f74.02053...@posting.google.com...

> ich suche nach einer Möglichkeit, während einer längerwierigen
> Sensitivitätsberechnung den Fortschritt der Berechnung auf dem Monitor
> zu visualisieren. [...]
>
Hallo Frank

Auf der Homepage von Michael Schwimmer findest du ein Beispiel wie es
gemacht werden kann:

http://schwimmer.bei.t-online.de/ (Rubrik Excel/VBA - Punkt 10)

Gruss
Marco


Marco Caviola

unread,
May 31, 2002, 2:07:06 AM5/31/02
to

"Heune" <frank.h...@web.de> schrieb im Newsbeitrag
news:2eb98f74.02053...@posting.google.com...
> ich suche nach einer Möglichkeit, während einer längerwierigen
> Sensitivitätsberechnung den Fortschritt der Berechnung auf dem Monitor
> zu visualisieren. [...]
>
Hallo Frank

Auf der Homepage von Michael Schwimmer findest du unter der Rubrik Excel/VBA
beim Punkt 10 eine mögliche Lösung.
http://schwimmer.bei.t-online.de/

Gruss Marco

Heune

unread,
May 31, 2002, 9:17:39 AM5/31/02
to
> Hallo Frank
>
> Auf der Homepage von Michael Schwimmer findest du unter der Rubrik Excel/VBA
> beim Punkt 10 eine mögliche Lösung.
> http://schwimmer.bei.t-online.de/
>
> Gruss Marco

Hallo Marco,

danke für den Hinweis, hab mir das Listing durchgesehen - aber leider
ohne all zu viel zu verstehen. Habe auch irgendwie das Gefühl, das die
Routine zwar tolle optische Fortschrittsvisualisierungen liefert, aber
ich benötige eigentlich nur ein schlichtes Fenster, dass ohne den
Rechner zusätzlich zu bremsen, dem Benutzer einen Eindruck verschafft,
wie weit das Programm ist, und ob es noch läuft.

Gibt´s da vielleicht noch einfachere Möglichkeiten?

Gruß,

Frank

Thomas Ramel

unread,
May 31, 2002, 10:38:28 AM5/31/02
to
Grüezi Frank

Heune schrieb:


>
> danke für den Hinweis, hab mir das Listing durchgesehen - aber leider
> ohne all zu viel zu verstehen. Habe auch irgendwie das Gefühl, das die
> Routine zwar tolle optische Fortschrittsvisualisierungen liefert, aber
> ich benötige eigentlich nur ein schlichtes Fenster, dass ohne den
> Rechner zusätzlich zu bremsen, dem Benutzer einen Eindruck verschafft,
> wie weit das Programm ist, und ob es noch läuft.
>
> Gibt´s da vielleicht noch einfachere Möglichkeiten?

Wie wäre es mit einer Userform mit Label, dessen Inhalt du stufenweise
aktualisierst?

10% / 20% / 30% / .....

--
Mit freundlichen Grüssen


Thomas Ramel
http://www.4853.ch/Schlesinger
http://www.swissgeo.ch/mapit.php3?www=http//www.4853.ch/Schlesinger&swissgeo_id=241718

Wolf, Peter

unread,
Jun 4, 2002, 3:18:25 AM6/4/02
to
Wie wärs mit dem Steuerelement "Progressbar"?
Das wird schon mitgeliefert und funktioniert einwandfrei.

Wenn Du möchtest, kann ich Dir eine Beispieltabelle mailen,
die einen netten Fortschrittsbalken in einer Userform anzeigt.

--
MfG

Peter Wolf
----------------------------------------------------------------------------
Bitte Antworten NUR in der Newsgroup
----------------------------------------------------------------------------
Leider werde ich mit SPAM-Mails zugeschüttet.
Bitte verzeiht, wenn ich nur eine Fake E-Mail angebe.
----------------------------------------------------------------------------
Heune <frank.h...@web.de> schrieb in im Newsbeitrag:
2eb98f74.02053...@posting.google.com...

Ernst Späth

unread,
Jun 4, 2002, 8:29:46 AM6/4/02
to
Wenn Du möchtest, kann ich Dir eine Beispieltabelle mailen,
die einen netten Fortschrittsbalken in einer Userform anzeigt.
Hallo Wolf,
Warum willst du uns allen das vorbehalten?
ich hätte daran auch interesse.
mfg ernst....@t-online.de

Wolf, Peter

unread,
Jun 5, 2002, 4:31:54 AM6/5/02
to
Hallo Ernst,

hast recht. Ich hatte gestern net die Zeit das alles aufzubereiten.
In der Tabelle ist eben die Funtion besser sichtbar, als das hier
"imaginär" zu verdeutlichen.

Aber ich versuche es mal:

Mein System: WinNT, Office97 SP2
Das Beispiel rechnet markierte DM Beträge in Euro um und
vergibt das ISO-Format "#.##0,00 EUR".

Progressbar/Fortschrittsanzeige

Wichtig, im VBA-Editor muss ein Verweiss auf
"Microsoft Windows Commoncontrols" liegen.


1. Userform anlegen und das Control Progressbar auf der
UF plazieren.
2. ein Label auf der UF plazieren
3. CommandButton plazieren (ich hab das über ein Buttonereignis
geregelt).

4. Hinter den Commandbutton folgenden Code kopieren:
5. Irgendwelche Beträge im Format 100,00 DM markieren und
die UF aufrufen und das Makro starten

#################################################
Private Sub CommandButton1_Click()
'Fortschrittsanzeige in einer Userform
'by Peter Wolf

Dim zelle As Object

'Progressbar vorbereiten
ab = 0
Form.ProgressBar1.Min = ab
t = Selection.Cells.Count
Form.ProgressBar1.Max = t

'abarbeiten der Schleife für die Euroumrechnung
For Each zelle In Selection

If zelle.NumberFormat = "#,##0.00 ""EUR"";-#,##0.00 ""EUR""" Then _
Exit Sub
If zelle.HasFormula = True Or IsNumeric(zelle) = False _
Or IsEmpty(zelle) Or IsDate(zelle) Then
Else
zelle = zelle / 1.95583
End If
If IsEmpty(zelle) Or IsDate(zelle) Then
Else
With zelle
.Value = Application.WorksheetFunction.Round(zelle.Value, 2)
.NumberFormat = "#,##0.00 ""EUR"";-#,##0.00 ""EUR"""
End With
End If

'wichtig! dieser Teil MUSS in die Schleife integriert sein
ab = ab + 1
Form.ProgressBar1.Value = ab
Form.TextBox1.Value = "Status: " & Format(ab / t, "0%") & " abgearbeitet"
Form.Repaint 'dieser Befehl ermöglicht erst das "wandern" der Anzeige

Next zelle
'Ende der Schleife


Unload Form
End Sub

##########################################################

Wie gesagt das ist ein Beispiel. Aber es funktioniert.
Mein Ziel war es eine Fortschrittsanzeige mit "MS-Bordmitteln" zu erstellen
und
nicht mit wandernden Labeln (was auch eine tolle Lösung ist).


--
MfG

Peter Wolf
----------------------------------------------------------------------------
Bitte Antworten NUR in der Newsgroup
----------------------------------------------------------------------------
Leider werde ich mit SPAM-Mails zugeschüttet.
Bitte verzeiht, wenn ich nur eine Fake E-Mail angebe.
----------------------------------------------------------------------------

Ernst Späth <ernst....@t-online.de> schrieb in im Newsbeitrag:
adibrf$v7p$02$1...@news.t-online.com...

Ernst Späth

unread,
Jun 5, 2002, 5:48:50 PM6/5/02
to

"Wolf, Peter" <fa...@fake.msn> schrieb im Newsbeitrag
news:3cfd...@news.aok.de...

> Hallo Ernst,
>
> hast recht. Ich hatte gestern net die Zeit das alles aufzubereiten.
> In der Tabelle ist eben die Funtion besser sichtbar, als das hier
> "imaginär" zu verdeutlichen.

Hallo Wolf,
vielen Dank für deine mühe und deine Zeit, wollte ja auch keine
perfekte Endlösung sondern nur eine etwa so oder so.
außerdem ist das mal ein anderes Thema als jeden zweiten
Tag Stunden + Stunden Dastum + Datum..
nochmals besten Dank werde es mal genauer unter die Augen nehmen.
mfg Ernst (der sich immer wieder wundert woher die Leute alles wissen ?)


Wolf, Peter

unread,
Jun 6, 2002, 3:55:32 AM6/6/02
to
Hallo Ernst,

ich muss nicht alles wissen - ich muss nur wissen wo ich das
Wissen finde ;-))

Dann ein wenig "try and error" und eine Prise Google und die NGs,
gepaart mit der OH und manchmal klappts das was funzt ;-)))


Gruß von PETER Wolf

--
MfG

Peter Wolf
----------------------------------------------------------------------------
Bitte Antworten NUR in der Newsgroup
----------------------------------------------------------------------------
Leider werde ich mit SPAM-Mails zugeschüttet.
Bitte verzeiht, wenn ich nur eine Fake E-Mail angebe.
----------------------------------------------------------------------------
Ernst Späth <ernst....@t-online.de> schrieb in im Newsbeitrag:

adm0vh$79s$07$1...@news.t-online.com...

0 new messages