Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bearbeitungsstand - Leiste

Bearbeitungsstand - Leiste
10.03.2009 16:09:40
André
Hallo Excelfans,
habe mal wieder ein kleines Problem, bzw. möchte ich ein kleines Gimik einbauen. Aber nur wenn dies überhaupt umsetzbar ist.
Als Beispiel habe ich einer meiner Makros unten angehängt, was ca. 5-10 Sekunden dauert, bis es komplett ausgeführt worden ist.
Nun zur meiner Frage:
Kann man dem User irgendwie ein Fenster anzeigen lassen z.B. "Bitte warten!" und darunter erscheint dann ein Countdown von z.B. 5 Sekunden oder so. Danach verschwindet dann das Fenster von alleine so, dass der User wieder normal weiterarbeiten kann.
Oder so eine Art Bearbeitungsleiste die den aktuellen Bearbeitungsstand anzeigen lässt und nach Bearbeitung wieder von alleine verschwindet.
Hier das das Beispiel - Makro:

Sub CE()
' CE Makro
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="pw"
Range("B4").Select
ActiveCell.FormulaR1C1 = "zz"
Range("B5").Select
ActiveCell.FormulaR1C1 = "zz"
Range("B5").Select
Selection.AutoFill Destination:=Range("B5:B32"), Type:=xlFillCopy
Range("B5:B32").Select
Range("B33").Select
ActiveCell.FormulaR1C1 = "zz"
Range("C4").Select
ActiveCell.FormulaR1C1 = "40"
Range("C5").Select
ActiveCell.FormulaR1C1 = "41"
Range("C5").Select
Selection.AutoFill Destination:=Range("C5:C33"), Type:=xlFillSeries
Range("C5:C33").Select
Range("B33").Select
Selection.AutoFill Destination:=Range("B33:C33"), Type:=xlFillFormats
Range("B33:C33").Select
Range("C29").Select
ActiveWindow.SmallScroll Down:=-12
Sheets("Voreinstellungen").Select
Range("B4").Select
Range("D3").Select
Selection.AutoFill Destination:=Range("D3:D33"), Type:=xlFillCopy
Range("D3:D33").Select
Range("E4").Select
ActiveCell.FormulaR1C1 = ""
Range("E5").Select
ActiveCell.FormulaR1C1 = ""
Range("E5").Select
Selection.AutoFill Destination:=Range("E5:E33"), Type:=x1FillCopy
Range("A4").Select
ActiveCell.FormulaR1C1 = "1"
Range("A5").Select
ActiveCell.FormulaR1C1 = "2"
Range("A6").Select
ActiveCell.FormulaR1C1 = "3"
Range("A7").Select
ActiveCell.FormulaR1C1 = "4"
Range("A8").Select
ActiveCell.FormulaR1C1 = "5"
Range("A9").Select
ActiveCell.FormulaR1C1 = "6"
Range("A8:A9").Select
Selection.AutoFill Destination:=Range("A8:A33"), Type:=xlFillSeries
Range("A8:A33").Select
Range("D3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"
Sheets("WB").Select
ActiveSheet.Unprotect Password:="pw"
Range("E12:K41").ClearContents
Range("B12:D41").ClearContents
Range("E12").Select
ActiveSheet.Protect Password:="pw"
Sheets("Voreinstellungen").Select
Range("m9").Select
Application.ScreenUpdating = True
End Sub


Vielen Dank im Vorraus,
Gruß
André

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bearbeitungsstand - Leiste
10.03.2009 16:17:44
Josef
Hallo André,
ich glaub so brauchst du keine Stausanzeige.
Sub CE()
  '
  ' CE Makro
  '
  On Error GoTo ErrExit
  
  Application.ScreenUpdating = False
  
  With ActiveSheet
    .Unprotect Password:="pw"
    .Range("B4") = "zz"
    .Range("B5") = "zz"
    .Range("B5").AutoFill Destination:=.Range("B5:B32"), Type:=xlFillCopy
    .Range("B33") = "zz"
    .Range("C4") = "40"
    .Range("C5") = "41"
    .Range("C5").AutoFill Destination:=.Range("C5:C33"), Type:=xlFillSeries
    .Range("B33").AutoFill Destination:=.Range("B33:C33"), Type:=xlFillFormats
  End With
  
  With Sheets("Voreinstellungen")
    .Range("D3").AutoFill Destination:=.Range("D3:D33"), Type:=xlFillCopy
    .Range("E4:E33") = ""
    .Range("A4") = "1"
    .Range("A5") = "2"
    .Range("A6") = "3"
    .Range("A7") = "4"
    .Range("A8") = "5"
    .Range("A9") = "6"
    .Range("A8:A9").AutoFill Destination:=.Range("A8:A33"), Type:=xlFillSeries
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"
  End With
  
  With Sheets("WB")
    .Unprotect Password:="pw"
    .Range("E12:K41").ClearContents
    .Range("B12:D41").ClearContents
    .Protect Password:="pw"
  End With
  
  Sheets("Voreinstellungen").Activate
  
  ErrExit:
  Application.ScreenUpdating = True
  
End Sub

Gruß Sepp

Anzeige
AW: Bearbeitungsstand - Leiste
11.03.2009 09:43:53
André
Hallo Sepp,
vielen Dank für deine Kürzung des Befehls. Wesentlich kürzer ist die Zeit bezüglich der Ausführung nicht geworden. Wie ich aber schon geschrieben hatte, wollte ich eventuell nur ein nettes kleines Gimik einbauen.
Gruß
André
AW: Bearbeitungsstand - Leiste
11.03.2009 09:56:26
Josef
Hallo André,
mit dem "Gimik" dauert dann das Makro noch länger!
Nimm die Statusbar zur Anzeige.
schreib zu Beginn deines Codes

Application.Statusbar = "Bitte warten!" 'oder schreib was du willst


und zum Schluss schreibst du


Application.Statusbar = False


Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige