EXCEL2000 VBA シートを隠す 実験 [Excel2000 VBA独習]
EXCEL2000 VBA シートを隠す 実験
メニューバーの 書式→シート→再表示 可能
Sub シート非表示()
Worksheets("Sheet1").Visible = False
End Sub
Sub シートを隠す再表示可()
' シートを隠す(ツールバーの再表示可)
Worksheets("sheet1").Visible = xlHidden ' ←非表示
End Sub
メニューバーの 書式→シート→再表示 不可
Sub シートを隠し再表示させない()
' シートを隠す(ツールバーの再表示に表示させない)
'
Worksheets("sheet1").Visible = xlVeryHidden
End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
表示する
Sub シート表示()
Worksheets("sheet1").Visible = True
End Sub
Sub 隠したシートを再表示()
' 隠したシートを再表示
Worksheets("sheet1").Visible = xlSheetVisible
Worksheets("Sheet1").Select
End Sub
参照サイト ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_020.html
-------------------------------------------------------------------------------------
追記 隠しシート一覧をメッセージボックスに表示、(出来が悪い)
Sub 隠しシート一覧()
Dim i As Long '汎用カウンタ
Dim d() As String 'シート名配列
Dim sheetC As Long 'bookのシート数
Dim msgS As String 'msgbox用文字列
'bookのシート数を調べる
sheetC = ActiveWorkbook.Sheets.Count
'配列d 個数設定
ReDim d(sheetC)
'シートが非表示常態か調べる
For i = 1 To sheetC
If ActiveWorkbook.Sheets(i).Visible = False Or ActiveWorkbook.Sheets(i).Visible = xlVeryHidden Then d(i) = Sheets(i).Name
Next i
For i = 1 To sheetC
msgS = msgS & d(i) & vbCrLf
Next i
MsgBox msgS
End Sub
▼非表示シートを確認しながら再表示するマクロ ttp://www.relief.jp/itnote/archives/001295.php
Sub シートを再表示する()
Dim s As Object
Dim ret As Long
For Each s In ActiveWorkbook.Sheets
With s
If .Visible = False Then
ret = MsgBox( _
"シート『" & .Name & "』を再表示しますか?", _
vbYesNo)
If ret = vbYes Then .Visible = True
End If
End With
Next s
コメント 0