プロが教えるわが家の防犯対策術!

Excelマクロ初心者です。ご指導をお願いします。

    A    B    C    D     E    F
1                           12/24
2   日付  12/20  12/21  12/24  12/25  
3   参加者  1人   2人   3人    4人

F1セルに入力してある日付より前の日付の列を非表示にする(上記でいうとB列・C列が非表示になるようにする)には、どのようにマクロを組めば良いのでしょうか?

A 回答 (2件)

こんにちは!



質問では列数が少ないので単純にB列~E列までのループが簡単だと思います。

Sub Sample1()
Dim j As Long
For j = 2 To 5 'B列~E列まで//
If Cells(2, j) < Range("F1") Then
Columns(j).Hidden = True
End If
Next j
End Sub

※ 再表示の操作も必要になると思いますので、
↓の3行が再表示のコードになります。

Sub 再表示()
ActiveSheet.Columns.Hidden = False
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

再表示まで記載いただき、とても助かりました!
同じような内容になるのですが、またマクロについての質問を投稿することになりそうですので、お時間がございましたらそちらの方にもご回答いただけると嬉しく思います。
この度は本当にありがとうございました。

お礼日時:2015/12/24 18:09

この程度なら何とか


Sub Macro1()
'Application.ScreenUpdating = False
 Dim n As Long
 Columns("A:F").EntireColumn.Hidden = False
 For n = 5 To 2 Step -1
   If Cells(2, n).Value < Cells(1, 6).Value Then
     Columns(n).Hidden = True
   End If
 Next n
'Application.ScreenUpdating = True
End Sub
動作確認できたら2か所ある’は外してください
    • good
    • 0
この回答へのお礼

ご指導いただいた通りに設定するとできました!
同じような内容になるのですが、またマクロについての質問を投稿することになりそうですので、お時間がございましたらそちらの方にもご回答いただけると嬉しく思います。
この度は本当にありがとうございました。

お礼日時:2015/12/24 18:10

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