人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルで、セルが更新された時に更新時間を記録するマクロを組んだのですが、うまくいきません。

Sub 時刻更新()
With Worksheets("Sheet1")
If .Cells(1, 2) <> "" Then Exit Sub
.Cells(1, 1).Calculate
End With
Application.OnTime Now + TimeValue("00:00:01"), "時刻更新"
End Sub

というマクロを組み、
(1, 2)のセルに何か文字が入力された時に(1, 1)のNOW関数が止まって、
その瞬間の時刻が(1, 1)に記載されるようにしました。

セルが1つだけの時はうまくいったのですが、
セルが2つになると、すべての時計が同時に更新されてしまいます。

たとえば、(1, 1)と(1, 2)のセットに加えて、
(2, 1)にもNOW関数を置いて、
(2, 2)に入力があった際には(2, 1)にその更新時間を記載したいのですが、
実際は(1, 2)あるいは(2, 2)のどちらかに入力があると、
(1, 1)(2, 1)どちらの時計も同時に更新されてしまいます。

どなたか解決策を教えていただけますでしょうか。

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

再計算の方法が自動になってませんか?
マクロで手動になるようにしておくとよいかもしれません。
(Application.Calculation = xlCalculationManual)

もしくはセルのアドレスや関数名を間違えているか。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ