- ベストアンサー
EXCELについて
こんにちわ!エクセル初心者です。 EXCELで「立ち上げたときには自動で今日の日付を表示させずに、表示させたいセルをクリックしたら、日付が表示させる」方法を教えていただいたのですが、ワークシートのSelectionChangeイベントに、「Target.Value = Date」と入れましたら、必要以外のところのセルもクリックすると、日付が表示されてしまいます。 例えば、D列のセルだけをクリックすると日付が表示され、ほかの列のセルはクリックしても、日付が表示されない方法はないでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#01,02です。ご参考に Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim intCOL, intROW As Integer intCOL = Target.Column intROW = Target.Row If intCOL = 4 Or intCOL = 6 Or intCOL = 8 Then 'D,F,H列で If intROW >= 4 and intROW =< 23 Then ’4~23行目のとき Target.Value = Date End If End If End Sub もしくは Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim cl As Range '指定したレンジの範囲のときだけDATEをセット For Each cl In Range("D4:D23,F4:F23,H4:H23") If Target.Address = cl.Address Then Target.Value = Date End If Next End Sub
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
#01です。とりあえず簡単で分かりやすいのは If Target.Column 4 or Target.Column = 6 or Target.Column = 8 Then でしょう。F列:6、H列:8です (もっと対象が多い場合は配列を使うほうが便利です)
お礼
ありがとうございます。できました! が、たとえばF列6の行1~3やH列の行1~3に 文字(テキスト文章)を入れようとクリックすると、自動で日付が表示されてしまっております。 その部分だけ(F列6の行1~3やH列の行1~3)はクリックしても日付を表示させずに、そのほかの行(たとえばF列6の行4~23)に日付を表示させる方法はありますでしょうか? よろしくお願いします。
- zap35
- ベストアンサー率44% (1383/3079)
D列のセルに限定したいなら If Target.Column = 4 Then Target.Value = Date End If のようにすると良いですよ。COLUMUN=4 がD列を意味します(A列が1) 下の例は A4セルに限定したものです。ご参考まで。 If Target.Address = "$A$4" Then
お礼
ありがとうございます。 もし、D列のほかにF列とH列も同じようにしたいときはどのようにすればよいでしょうか?
お礼
本当に助かりました。ありがとうございました!! また、助けてください・・・よろしくお願いします。