dポイントプレゼントキャンペーン実施中!

エクセル2013 複数の列の表示非表示を切り替えするにはマクロでしょうか?

過去にエクセル2005ぐらいだったかと思いますが飛び飛びの点々としたセルの内容を一斉に削除するというボタンを作ったことがあり、
それを参考に今回2013で複数の列を表示・非表示切り替えできないかと試したものの全くついていけません。
普段数式でもやっと扱う程度ですのでできるだけ簡単にこのようなことが実現できる方法はないでしょうか。

具体的には1~12月の参照にする列を数項目につき設置したので、
全表示だと「項目A・1月列・2月・3月・・・~12月・計の列」「項目B・1月列・2~~~」となっています。
これを各月の作業の邪魔にならないように例えば各項目の1月分を入力する時だけ2~12月列は非表示、
同じく2月の入力時は1月列と3~12月を非表示、2月の列だけ登場させるという形で、12ヶ月分のパターン+全月非表示の計13パターンがほしいところ。
全体ではA~GIの列数があり、各項目ごとに手作業で選択すると毎回大変なので、部分的に非表示・表示となる一発操作をしたいのですが、こんなことできますか?

A 回答 (4件)

No2さんもおっしゃっていますが、「ユーザー設定ビュー」が簡単かと



http://cblog.crie.jp/excel/293/
http://www4.synapse.ne.jp/yone/excel/excel_user_ …
    • good
    • 0
この回答へのお礼

いつも同じ操作ばかりでこんな機能を気にしていませんでした。
これで実現できます!
ただ、拡大率とか枠のサイズとか何もかもが固定というか設定されるのですね、でも修正も簡単ぽい(^^)!
慎重にやってみます。ありがとうございました。

お礼日時:2019/01/09 14:38

>「ユーザー設定ビュー」



機能の正式名称が「ユーザー設定【の】ビュー」なんで、略さない方がいいですよ。
    • good
    • 0

列のグループ化とか、ユーザー設定のビューなどは如何でしょうか?

    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2019/01/09 14:33

こんばんは!



>12ヶ月分のパターン+全月非表示の計13パターンがほしいところ。

一案ですが、12ヶ月分のパターンは一つだけのマクロにし
インプットボックスに残したい月のみを入力する方法はどうでしょうか?
尚、「項目○」の列も表示しておく必要があるのですよね?

一例です。1行目が項目行になっているとします。

Sub 非表示()
 Dim j As Long, myRng As Range
 Dim myMonth As String
  myMonth = Application.InputBox("表示したい月を入力")
   For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    If InStr(Cells(1, j), "項目") = 0 Then
     If Cells(1, j) <> myMonth Then
      If myRng Is Nothing Then
       Set myRng = Cells(1, j)
      Else
       Set myRng = Union(myRng, Cells(1, j))
      End If
     End If
    End If
   Next j
  If Not myRng Is Nothing Then '//←念のため//
   myRng.EntireColumn.Hidden = True
  End If
End Sub

次に再表示のコードです。

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

※ 表示する月は1か月だけという前提です。

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

ありがとうございます。
勉強になりました!

お礼日時:2019/01/09 14:33

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