|
EXCELのセルに入力されている文字の文字色、サイズなどを判別しなくてはいけません。
Charactersを使用するので処理速度が遅くなるのはしょうがないとあきらめています。
ただ、下記のプログラムをブックを開いてすぐに実行する場合と
ブックを開いて何処でもいいからセルの文字を編集してから実行する
のでは処理速度が違います。
前者の処理速度:50秒
後者の処理速度:18秒
この理由が判りません。
この理由をEXCELの仕様だからと無理矢理に納得したとして、この仕様を
利用して処理速度を早くさせる方法はあるのでしょうか?
前提としてA列の1行から1000行までのセルに全て1000文字入力しています。
Private Sub cmdInput_Click()
Dim StartTime As Variant
Dim StopTime As Variant
Dim lCnt As Long
Dim lNum As Long
StartTime = Time
For lNum = 1 To 10000
For lCnt = 1 To ActiveSheet.Cells(lNum, 1).Characters.Count
Next
Next
StopTime = Time
StopTime = StopTime - StartTime
MsgBox "処理時間:" & Minute(StopTime) & "分" & Second(StopTime) & "秒"
End Sub
例えばこのStartTime = Timeの前にプログラムでセル編集しても遅いままでした。
また、SendKeys "{F2}", TrueをStartTime = Timeの前に記述しても遅いままでした。
宜しくお願い致します。
|
|