[[20220124114430]] 『常に実行』(カス) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『常に実行』(カス)

現在フォームコントロールのボタン操作にて下記を実行しているのですが
ボタン操作を行わずC2、C3に値が入力されれば実行することは可能でしょうか
詳しくないため教えてください。
よろしくお願いいたします。

Sub DatePeriod()

    Const sCol As Long = 15
    Const eCol As Long = 379
    '全表示
    Range(Columns(sCol), Columns(eCol)).Hidden = False
    '非表示設定
    If IsDate(Range("C2").Value) And IsDate(Range("C3").Value) Then
        Dim mDate As Long: mDate = Cells(2, sCol).Value2
        Dim mDate2 As Long: mDate2 = Cells(2, eCol).Value2
        Dim sDate As Long: sDate = Range("C2").Value2
        Dim eDate As Long: eDate = Range("C3").Value2
        Dim memo As Long
        '開始より前を非表示
        If sDate > mDate Then
            memo = sDate - mDate + sCol - 1
            Range(Columns(sCol), Columns(memo)).Hidden = True
            Cells(2, memo + 1).Activate
        End If
        '終了より後を非表示
        If mDate2 > eDate Then
            memo = eDate - mDate + sCol + 1
            Range(Columns(memo), Columns(eCol)).Hidden = True
        End If
    End If
End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


Worksheet_Changeイベントを使えばできると思います。
(DS) 2022/01/24(月) 11:53

「値 入力 実行」で調べれば出ると思います。
(jsk) 2022/01/24(月) 11:54

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.