2017-05-29 14 views
1

私は現在、ユーザーがバーコードスキャナーで設定した非常に単純なワークシートを持っています。バーコードスキャナーでは、ユーザーがバーコードをスキャンして "経過時間"と "クロックアウト"タイマー(私は '= now() - clock in'の式を使用しました)。自動リフレッシュExcelセルの値/式

私の問題は、「経過時間」セルの値が自動的にリフレッシュされないため、手動でクリックして式を再送信して更新された経過時間を取得する必要があることです。私はこれを自動化する方法はありますか?

詳細についてはスクリーンショットが添付されています。

ありがとうございます!

https://i.stack.imgur.com/zeltT.png

+0

実際に数式を再送信する必要はありません。ワークシート上の任意の変更がそれを再計算します。 ANYセルをクリックするだけで再計算されます。 F9をクリックすると同じことが実行されます。 –

+0

@NiteshHalaiあなたのコメントのおかげで、私はちょうどそれを試してみたが、合理的なソリューションのように見えるが、それは私が実行している操作にはまったく理想的ではありません:/断続的にそれをリフレッシュする関数はありますか? –

+0

マクロを開いていますか? –

答えて

0

目標は2シンプルなVBAのfucntionsによってachivedすることができます。 1つは、新たに追加されたモジュールの次に2番目のWorkbook.Openイベントにアタッチする必要があります。右インサート>モジュールとペーストを選択し、Microsoft Excelのオブジェクトをクリックして新しいモジュールに

Private Sub Workbook_Open() 

    alertTime = Now + TimeValue("00:02:00") 
    Application.OnTime alertTime, "EventMacro" 

End Sub 

セカンド(:ここ

は、オープンイベントからコード(Altキー+ F11、オープンはThisWorkbookのコードとコードを貼り付け)でありますそこにコード):

Public Sub EventMacro() 
Dim rng As Range 

    Set rng = ThisWorkbook.Sheets(1).Range("L:L") 
    rng.Calculate 
    ' Here refresh interval can be changed 
    alertTime = Now + TimeValue("00:02:00") 
    Application.OnTime alertTime, "EventMacro" 
End Sub 

のTimeValue( "夜12時02分○○秒")はリフレッシュ間隔を規定する、範囲( "L:L")がリフレッシュされる列を定義します。

編集: もちろん、ブックはVBAコードを有効にするために.xlsmとして保存する必要があります。

関連する問題