エクセル小僧:更新期限切れのセルを選択 [コンピューター]
定期的に更新が必要なモノの一覧があって、
ファイルを開いたときに期限切れのセルを選択し、
期限切れのセルのうち、一番上のセルがアクティブになっているようにするマクロを作ってみました。
【条件】
・G列に変更した日が入力されている。
・変更日のセル範囲に"変更日"という名前がついている。
・更新は90日ごとに行う。
【マクロ】
Sub HenKigen1()
'【機能】変更から90日経過した最初のセルへ飛ぶ
'【変数】
Dim Day1 As Date ' 基準日
Dim Range1 As Range ' セル範囲
Dim Range_t As Range ' セル範囲(合計)
'【コード】
Day1 = Date ' 今日
Day1 = DateAdd("d", -90, Day1) ' 90日前
For Each Range1 In Range("変更日")
If (Range1.Value <> "") And (Range1.Value < Day1) Then ' 変更日が90日より前
If Range_t Is Nothing Then
Set Range_t = Range1 ' 最初に条件に合致したセル
Else
Set Range_t = Union(Range_t, Range1) ' 2個目以降に条件に合致したセルを結合
End If
End If
Next Range1
Application.Goto Range_t(1, 1), True ' 変更から90日経過したセルの内、最初のセルへ
ActiveWindow.SmallScroll ToLeft:=6 ' A列が一番左になるようにスクロール
Range_t.Select ' パスワード変更から90日経過したセル範囲を選択
End Sub
ファイルを開いたときに期限切れのセルを選択し、
期限切れのセルのうち、一番上のセルがアクティブになっているようにするマクロを作ってみました。
【条件】
・G列に変更した日が入力されている。
・変更日のセル範囲に"変更日"という名前がついている。
・更新は90日ごとに行う。
【マクロ】
Sub HenKigen1()
'【機能】変更から90日経過した最初のセルへ飛ぶ
'【変数】
Dim Day1 As Date ' 基準日
Dim Range1 As Range ' セル範囲
Dim Range_t As Range ' セル範囲(合計)
'【コード】
Day1 = Date ' 今日
Day1 = DateAdd("d", -90, Day1) ' 90日前
For Each Range1 In Range("変更日")
If (Range1.Value <> "") And (Range1.Value < Day1) Then ' 変更日が90日より前
If Range_t Is Nothing Then
Set Range_t = Range1 ' 最初に条件に合致したセル
Else
Set Range_t = Union(Range_t, Range1) ' 2個目以降に条件に合致したセルを結合
End If
End If
Next Range1
Application.Goto Range_t(1, 1), True ' 変更から90日経過したセルの内、最初のセルへ
ActiveWindow.SmallScroll ToLeft:=6 ' A列が一番左になるようにスクロール
Range_t.Select ' パスワード変更から90日経過したセル範囲を選択
End Sub
ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2016-04-23 23:22)