Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anzeige "bitte warten"

Anzeige "bitte warten"
10.07.2008 00:03:48
Domtsgi
Hallo zusammen,
ich möchte, dass während dem ausführen des untenstehenden Makro eine Anzeige "bitte warten " erscheint. (Makro natürlich vereinfacht, läuft Total ca. 30sek.)
Ich habe bereits einige Versuche mit Beispielen aus der Recherche gemacht, aber irgendwie packe ich das nicht.
Wer möchte mir mein Makro mit diesem Zusatz "aufmotzen"?
vielen Dank im Voraus
mit freundlichen Grüssen
Domtsgi

Private Sub Worksheet_Deactivate()
On Error GoTo FEHLER
Application.EnableEvents = False
Dim rngZelle As Range
If Cells(2, 254) = 1 Then
For Each rngZelle In Range("f9:f380")
If rngZelle.MergeCells Then
rngZelle(1, 21) = rngZelle.MergeArea.Count
Else
rngZelle(1, 21) = 0
End If
Next rngZelle
Cells(2, 254) = 0
End If
FEHLER:
Application.EnableEvents = True
End Sub


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige "bitte warten"
10.07.2008 00:10:16
Ramses
Hallo
Da EXCEL nicht multitaskingfähig ist in diesem Bereich (2 Makros unabhängig laufen lassen) kannst du das so nicht lösen.
Workaround:
Eine UF erstellen die dir die Meldung für den Benutzer in einer Textbox anzeigt und dein Makro beim öffnen der UF ablaufen lässt
Gruss rainer

Anzeige
AW: Anzeige "bitte warten"
10.07.2008 00:26:14
Domtsgi
Tschau Rainer. Merci für den Tip, werde dies mal "austüfteln"
Gute Nacht

AW: Anzeige "bitte warten"
10.07.2008 00:31:08
Daniel
HI
die einfachste Methode ist, die Statusanzeige am unteren Rand zu nutzen:

Sub Makro()
Application.Statusbar = "Bitte Warten"
'... hier der eigentliche Code
Application.Statusbar = False 'Statuisbar wieder für Excelsysstemmeldungen freigeben
End sub 


in der Komfort-Version zeigst du dem Anwender natürlich den Bearbeitungsfortschritt an.
In Schleifen mit Zählbaren durchläufen geht das relativ einfach, so in deinem Beispiel:


Private Sub Worksheet_Deactivate()
On Error GoTo FEHLER
Application.EnableEvents = False
Dim Zeilen As Long, Zähler As Long

Dim rngZelle As Range
If Cells(2, 254) = 1 Then
Zeilen = Range("F9:F380").Rows.Count
For Each rngZelle In Range("f9:f380")
Zähler = Zähler + 1
If rngZelle.MergeCells Then
rngZelle(1, 21) = rngZelle.MergeArea.Count
Else
rngZelle(1, 21) = 0
End If
Application.StatusBar = "Bearbeitet: " & Format(Zähler / Zeilen, "0%")
Next rngZelle
Cells(2, 254) = 0
End If
FEHLER:
Application.EnableEvents = True
Application.StatusBar = False
End Sub


Gruß, Daniel

Anzeige
AW: Anzeige "bitte warten"
11.07.2008 00:53:00
Domtsgi
Tschau Daniel,
vielen Dank für dein zusätzlicher Input. Werde wohl irgend eine Mischung von beiden vornehmen.
Gruss
Domtsgi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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