Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fortschrittsanzeige Prozent

Fortschrittsanzeige Prozent
25.01.2007 13:52:04
Florian
Hallo zusammen,
was ich mich schon immer gefragt habe, wie erstellt man in VBA eine Fortschrittsanzeige? Ich arbeite im Moment gerade ein For-Schleife ab und anstatt dem User das wartende Excel und den Mauszeiger zu zeigen, möchte ich ein einfache
Anzeige haben, die den Fortschritt zum Beispiel in Prozent (perfekt wäre noch mit Zeitangabe, wie lange es noch dauert) anzeigt.
Wäre sehr dankbar, wenn mir dabei jemand helfen könnte, das plagt mich schon seit langer Zeit :(
Vielen Dank für die Hilfe!
Gruss Flo
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortschrittsanzeige Prozent
25.01.2007 14:07:03
EtoPHG
Hallo Flo,
Dazu gibts etwa 492 Auskünfte in der Recherche!
Aber weil's so schön ist hier die einfachste Variante:

Sub versiv()
Const sgnBisSchlaufe = 100000   ' Schlaufenzähler
Dim sgnDurchlauf As Single
Dim intProzent As Integer
Application.StatusBar = "0% erledigt"
For sgnDurchlauf = 1 To sgnBisSchlaufe
'.... bla bla Dein COde
'.... Bla bla Dein Code
If intProzent < Int(sgnDurchlauf / (sgnBisSchlaufe / 100)) Then
intProzent = Int(sgnDurchlauf / (sgnBisSchlaufe / 100))
Application.StatusBar = intProzent & "% erledigt"
Application.Wait (Now + TimeValue("0:00:01"))           ' Löschen! nur zum Testen hier!
End If
Next sgnDurchlauf
End Sub

Gruss Hansueli
Anzeige
AW: Fortschrittsanzeige Prozent
25.01.2007 23:08:40
Daniel
Hallo
und wenn dir Prozentzahl nicht fein genug ist, gibts mit dieser Zeile noch nen wunderbaren Fortschrittsbalken in der Statusleiste:
Application.StatusBar=worksheetfunction.rept(chrw(9632),50*(sgnDurchlauf/sgnBisSchlaufe)) & worksheetfunction.rept(chrw(9633),50*(1-sgnDurchlauf/sgnBisSchlaufe))
wenn der Balken zu lang oder zu kurz ist, einfach die 50 durch die gewünschte Segmentzahl ersezten.
Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fortschrittsanzeige in Excel erstellen


Schritt-für-Schritt-Anleitung

Um eine Fortschrittsanzeige in Excel zu erstellen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Füge den folgenden Code ein:

    Sub versiv()
       Const sgnBisSchlaufe = 100000   ' Schlaufenzähler
       Dim sgnDurchlauf As Single
       Dim intProzent As Integer
       Application.StatusBar = "0% erledigt"
    
       For sgnDurchlauf = 1 To sgnBisSchlaufe
           '... Dein Code hier ...
    
           If intProzent < Int(sgnDurchlauf / (sgnBisSchlaufe / 100)) Then
               intProzent = Int(sgnDurchlauf / (sgnBisSchlaufe / 100))
               Application.StatusBar = intProzent & "% erledigt"
               Application.Wait (Now + TimeValue("0:00:01"))  ' Nur zum Testen
           End If
       Next sgnDurchlauf
    End Sub
  4. Starte den Code:

    • Schließe den VBA-Editor und drücke F5, um das Makro auszuführen.

Mit diesem Code wird der Fortschritt in der Statusleiste angezeigt. Möchtest Du den Fortschritt in einer Zelle darstellen, kannst Du weitere Anpassungen vornehmen.


Häufige Fehler und Lösungen

  • Fehler: "Anwendungsfehler"
    Lösung: Überprüfe, ob Du den Code korrekt in ein Modul eingefügt hast und dass keine Tippfehler vorhanden sind.

  • Fehler: Fortschritt wird nicht aktualisiert
    Lösung: Stelle sicher, dass der Application.Wait Befehl korrekt implementiert ist. Er sorgt dafür, dass der Fortschritt sichtbar bleibt.


Alternative Methoden

Eine einfache Möglichkeit, einen Excel Fortschrittsbalken in Zelle anzuzeigen, ist die Verwendung der bedingten Formatierung. Hier ist eine kurze Anleitung:

  1. Zelle auswählen:

    • Wähle die Zelle aus, in der der Fortschrittsbalken angezeigt werden soll.
  2. Bedingte Formatierung anwenden:

    • Gehe zu Start > Bedingte Formatierung > Datenbalken.
    • Wähle den gewünschten Stil aus, um den Fortschritt visuell darzustellen.
  3. Prozentwerte eingeben:

    • Gib die entsprechenden Prozentwerte in die Zelle ein, um den Fortschrittsbalken darzustellen.

Praktische Beispiele

Hier sind zwei praktische Beispiele für eine Fortschrittsanzeige Excel:

  1. VBA Fortschrittsanzeige:

    • Verwende den oben genannten VBA-Code, um eine Fortschrittsanzeige in der Statusleiste zu erstellen.
  2. Excel Fortschrittsbalken in Zelle:

    • Setze einen Prozentwert in eine Zelle, z. B. 50%, und wende die bedingte Formatierung an, um einen Fortschrittsbalken zu erhalten.

Tipps für Profis

  • Nutze die worksheetfunction.rept Funktion, um einen Fortschrittsbalken in der Statusleiste noch ansprechender zu gestalten. Ein Beispielcode könnte so aussehen:
    Application.StatusBar = worksheetfunction.rept(chrw(9632), 50 * (sgnDurchlauf / sgnBisSchlaufe)) & worksheetfunction.rept(chrw(9633), 50 * (1 - sgnDurchlauf / sgnBisSchlaufe))
  • Experimentiere mit unterschiedlichen Segmentzahlen, um den Fortschrittsbalken nach Deinen Wünschen anzupassen.

FAQ: Häufige Fragen

1. Wie kann ich den Fortschritt in Prozent in einer Zelle anzeigen?
Um den Fortschritt in einer Zelle anzuzeigen, kannst Du die bedingte Formatierung verwenden, um einen Datenbalken darzustellen, der den Fortschritt visuell anzeigt.

2. Funktioniert diese Methode in allen Excel-Versionen?
Ja, die beschriebenen Methoden funktionieren in den meisten Excel-Versionen, die VBA unterstützen, wie Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige