アプリ版:「スタンプのみでお礼する」機能のリリースについて

チェックシートでF1の「□が■」になったら作業時間(H1)に現在の時間を入れたいと思っています。

now関数を入れると時間が常に更新されてしまいます。

一度I1にnow関数を入れて、
H1に値でコピーをし、
I1をクリアにすればよろしいでしょうか。
また、繰り返し処理を100行まで行いたいです。

マクロで処理をしたいなと思っています。
どなたかご教示ください。

A 回答 (5件)

例えば、H1セルに次の式を設定すると”■”を入力した時点で現在日時が表示されます。

ただ、このままだと再計算が行われる度に日時が更新されてしまうので、Worksheet_Calculateイベントプロシジャで実数に固定化してみました。

【H1セルの式】
=IF(F1="■",NOW(),"")

【マクロ】
Private Sub Worksheet_Calculate()
On Error Resume Next
With Columns("H:H").SpecialCells(xlCellTypeFormulas, 1)
.Value = .Value
End With
End Sub
    • good
    • 0

100行かぁ微妙だなぁ。


最初にどっかに現在時刻をセットしてからdo~untilで回せば良いと思うよ。
    • good
    • 0

おっと、



And cells(r,7)=“”

を then の前に入れた方がいいかも。

どんな使い方するかは知りませんけど。
    • good
    • 0

ご質問にある操作をマクロで実行するなら




For r=1 to 100
If cells(r,6)=“■" then cells(r,7)=Now
Next
    • good
    • 0

Changeイベントで対象のセル(F)が■になったときに(H)にnow()を設定する方法ではいかがでしょうか

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています