#author("2023-09-20T20:47:23+09:00","","")
#navi(../)

* Excelで列、行の非表示、再表示を行うサンプル [#kdc2eae3]
Excel VBA で 列、行の非表示、列、行の再表示を行うサンプルコードを以下に紹介します。

#contents
#htmlinsert(office_ads_top.html)

* 動作確認環境 [#d3edcb3d]
-Windows 10 バージョン 22H2
-Microsoft® Excel® for Microsoft 365 MSO (バージョン 2308 ビルド 16.0.16731.20182) 32 ビット

* 関連サイト [#s54d40dd]
-[[Microsoft: Range.Hidden プロパティ (Excel)>https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.hidden]]

* VBAサンプルコード [#h2b77b6d]
以下のVBAサンプルコードは以下の関数を実装しています。

- HideColumn~
指定したカラム(列)を非表示にする。
#br
- VisibleColumn~
指定したカラム(列)を再表示する。
#br
- HiddenRow~
指定したRow(行)を非表示にする。
#br
- VisibleRow~
指定したRow(行)を再表示する。
#br
- RunHiddenSample~
非表示関数である、HideColumn(), HiddenRow() を呼び出しています。
#br
- RunVisibleSample~
再表示関数である、VisibleColumn(), VisibleRow() を呼び出しています。

 Option Explicit
 
 Sub HideColumn(s As String, Optional e As String = "")
     
     If e = "" Then
         Columns(s).Hidden = True
     Else
         Columns(s & ":" & e).Hidden = True
     End If
 
 End Sub
 
 Sub VisibleColumn(s As String, Optional e As String = "")
 
     If e = "" Then
         Columns(s).Hidden = False
     Else
         Columns(s & ":" & e).Hidden = False
     End If
 
 End Sub
     
 Sub HiddenRow(s As Long, Optional e As Long = 0)
     
     If e = 0 Then
         Rows(s).Hidden = True
     Else
         Range(Rows(s), Rows(e)).Hidden = True
     End If
 
 End Sub
 
 Sub VisibleRow(s As Long, Optional e As Long = 0)
 
     If e = 0 Then
         Rows(s).Hidden = False
     Else
         Range(Rows(s), Rows(e)).Hidden = False
     End If
 
 End Sub
 
 Sub RunHiddenSample()
     
     '行(Row)の非表示
     Call HiddenRow(1)
     Call HiddenRow(3, 4)
     
     '列(Column)の非表示
     Call HideColumn("B")
     Call HideColumn("D:E")
     Call HideColumn("G", "H")
 
 End Sub
 
 Sub RunVisibleSample()
     
     '行(Row)の再表示
     Call VisibleRow(1)
     Call VisibleRow(3, 4)
 
     '列(Column)の再表示
     Call VisibleColumn("B")
     Call VisibleColumn("D:E")
     Call VisibleColumn("G", "H")
 
 End Sub

* 実行結果 [#r776c8ff]
上記のサンプルコードを実行した時にキャプチャになります。~

** 実行前シート状態 [#w2e5fa68]
実行前のシート状態は以下の通りです。

#ref(01.png)

** 非表示関数 RunHiddenSample() 実行結果 [#j461ec09]
指定した行、列が非表示になります。

#ref(02.png)

** 再表示関数 RunVisibleSample() 実行結果 [#n9917118]
RunHiddenSample()で非表示にした場所を RunVisibleSample() で再表示しています。

#ref(01.png)
#br

以上、Excelシートの列と行の非表示/再表示を行うVBAサンプルコードの紹介でした。

#htmlinsert(office_ads_btm.html)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS