2016-07-18 6 views
1

Excelファイルで構成されるマクロを閉じようとすると、数秒間閉じてからもう一度開くとバグが出て、定義されていないオブジェクトが返されます次のコードでのエラー -別のExcelが開いているときにExcelを閉じることができない

Option Explicit 

Public TimerCell As Range 
Public TimerValue As Range 
Public StopTimer As Boolean 
Public EndTime As Double 

Public Sub TimeCounter() 
    If Not StopTimer Then 
    If EndTime - Now < 0 Then 
     EndTime = Now + TimerValue 'Specifically in this line 
    End If 
    Application.EnableEvents = False 
    TimerCell = EndTime - TimeValue(Now) 
    Application.EnableEvents = True 
    Application.OnTime Now + TimeSerial(0, 0, 1), "TimeCounter" 'the clock runs every second 
    End If 
End Sub 

私は、画面上の第2のタイマーによって、第2を実行して、タイマーの完了時10分にすべての私のマクロをリフレッシュするには、このコードを使用しています。

これは私に上記の行のObject variable not defined errorを与えます。どんな助けもありがとうございます。

答えて

1

TimerValueがまだ設定されていないためにエラーが発生しました(Excelが閉じられると、パブリック変数のインスタンスは破棄されます)。 xlVeryHiddenシートに値を保存するか、またはTimerValueNothingであるかどうかを確認し、それに応じて処理する条件を追加する必要があります(TimerValueの場合)

+0

ご連絡いただきありがとうございます。私は上記のようにこれらの値を再設定した後に、このモジュールが呼び出される別のモジュールで、Timervalueを10分、終了時間を0、endtime = 0と宣言しました。サブカウント() セットTimerValue =ワークシート( "DS")範囲( "A52") セットTimerCell =ワークシート。。( "壁LEVEL PPW - V2")範囲( "P3") 終了時間= 0 は、stopTimer = False TimeCounter End Sub –

+0

@mohitkhullarは、TimerValueの日付の値ですか? – RGA

+0

これは10分の時間価値を持っています –

関連する問題