Excel - 日付を自動的に変更する
問題
私のワークシートではこの式を使っています。
= IF(OR(A1 = 1、A1 = 2、A1 = 3)、TODAY()、 "")
問題は、次の日にシートを開いたときにすべてのエントリー日が今日に変更された場合、前日は同じままであることを示し、今日の日付を表示する新しいエントリーのみが必要です。
状況日程フラグ仕事の説明日付1 2010年5月16日2 2010年5月17日1 2010年5月20日3 2010年5月21日
溶液
A1の値が手動で入力される場合は、イベントを使用できます。
それをする
- 1. VBEを起動するために、F11キーを押します。
- 2.プロジェクトエクスプローラを表示するために、Ctrl + Rキーを押します。
- 3. A1の値を変更する予定のシートをダブルクリックします。
- 4.このコードを貼り付けます
プライベートSub Worksheet_Change(ByVal Target As Range) 'イベントが最初の列(列A)によってトリガされなかった場合は何もしませんIf(Target.Column 1)イベントが行1によってトリガされなかった場合' Subの終了 'If(Target。行1)Exit Sub 'イベントを無効にするので、イベントのサイクルに入ることはできません。Application.EnableEvents = FalseまたはTarget = 2またはTarget = 3の場合1行下がり、1列右に移動します。Target.Offset(1) 、1)= CDate(Now) '同じ行で右方向に1列の移動先。Offset(0、1)= ""そうでなければ1行下に移動し、右方向の1列に移動Target.Offset(1、1)= ""同じ行と1列右に移動Target.Offset(0、1)= CDate(Now)End 'これで作業が完了したら、もう一度evetnsを有効にできますApplication.EnableEvents = True End Sub
ご了承ください
フォーラムでこのヒントを寄せてくれたrizvisa1に感謝します。