Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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

Langläuferformatierung abwarten?

Langläuferformatierung abwarten?
23.12.2015 10:27:50
Stephan
Hallo,
ich möchte über die Excel API ein großes Workbook aufrufen und eine Spalte von Text auf Zahl formatieren. Dabei möchte ich messen, wie lange die Formatierung braucht, um alle betroffenen Zellen umzuformatieren. Danach wird das Workbook wieder geschlossen und der Vorgang wiederholt.
Wie kann ich abfragen, wann die Formatierung durchgelaufen ist. Der Code läuft anscheinend weiter, sobald der Befehl anstoßen ist und nicht wie bei vielen anderen, wenn der Befehl fertig ausgeführt ist. Ich habe unten mal den gesamten Code angehängt. Es geht mir konkret um diese Codezeile:
myWorksheet.Selection.NumberFormat = "0.00"
Der darauffolgende Code soll erst ausgeführt werden, wenn die Formatierung abgeschlossen ist.
Danke, Stephan
Dim myExcel
dim myWorkbook
dim myWorksheet
call reportStep(CurrentRun,"Start Messung", "Passed")
' Objekte erstellen
Set myExcel = CreateObject("Excel.Application")
myExcel.Visible = true
myExcel.DisplayAlerts = False
call reportStep(CurrentRun,"Start Excel öffnen", "Passed")
set myWorkbook = myExcel.Workbooks.Open("S:\Testautomatisierung\Testdaten\01 Excel 2013 Test\Detailliste Controlling IT-AE - Portfolio Q4-15_2015-12-03.xlsm",false)
call reportStep(CurrentRun,"Ende Excel öffnen", "Passed")
set myWorksheet = myWorkbook.Worksheets("IST PT CO")
myworksheet.activate
myWorksheet.Range("L2").Select
myWorksheet.Range(Selection, Selection.End(xlDown)).Select
call reportStep(CurrentRun,"Start Formatierung", "Passed")
myWorksheet.Selection.NumberFormat = "0.00"
call reportStep(CurrentRun,"Ende Formatierung", "Passed")
' Aufräumen
set myWorksheet = nothing
myWorkbook.close(False)
set myWorkbook = nothing
myExcel.quit
set myExcel = nothing
'Ende Test
call reportStep(CurrentRun,"Ende Test", "Passed")

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Langläuferformatierung abwarten?
23.12.2015 14:44:44
ransi
Hallo,

Dabei möchte ich messen, wie lange die Formatierung braucht, um alle betroffenen Zellen umzuformatieren.

Schau mal hier:
1000 mal hin und her formatieren dauert ca. 1,2 sekunden:
Option Explicit

Sub test()
    Dim L As Long
    Dim dblTmp As Double
    dblTmp = Timer
    DoEvents
    For L = 1 To 1000
        With Range("A:A")
            .NumberFormat = "0.00"
            .NumberFormat = "General"
        End With
    Next
    MsgBox Timer - dblTmp
End Sub


Wie kann ich abfragen, wann die Formatierung durchgelaufen ist.
ungetestet:
Sub machs()
    With Range("A:A")
        Do
            .NumberFormat = "0.00"
        Loop Until .NumberFormat = "0.00"
    End With
    MsgBox "Jetzt gehts weiter."
End Sub



ransi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige