2010年07月16日
[VBA]VBAからしか操作できない隠しシートを作る。
下記は、「VBAからしか操作できない隠しシートを作る。」サンプルです。
実際の処理部分は、コメントアウトしてありますので、
必要に応じコメント ’ を削除してください。
******************************
Option Explicit
Public Sub Main()
'シート名を設定
Dim SheetName As String
SheetName = "SystemSheet"
'※試す時にコメントアウトをはずして下さい
'Call NewSheetNow(SheetName) '新しいシートを作成
'Call SheetVisibleFalse(SheetName) '追加シートを隠す。
'Call SheetVisibleTrue(SheetName) '追加シートを表示する。
'Call SheetDelete(SheetName) ''追加シートを削除する。
End Sub
'新しいシートを作成
Private Sub NewSheetNow(ByVal strName As String)
Dim NewWSheet As Worksheet
Set NewWSheet = Worksheets.Add 'シートを追加
NewWSheet.Name = strName '名前を変更
End Sub
'シートを隠す
Private Sub SheetVisibleFalse(ByVal strName As String)
Worksheets(strName).Visible = xlVeryHidden
End Sub
'シートを再表示する。
Private Sub SheetVisibleTrue(ByVal strName As String)
Worksheets(strName).Visible = xlSheetVisible
End Sub
'シートを削除する。
Private Sub SheetDelete(ByVal strName As String)
Worksheets(strName).Delete
End Sub
******************************
[サンプルの実行の仕方]
1.上記の *** で囲まれた内容をコピペし、エクセルマクロ(モジュール)へ
貼り付けます。
2.マクロ又は、Visual Basic Editer で Main の実行を行ってください。
'※試す時にコメントアウトをはずして下さい
'Call NewSheetNow(SheetName) '新しいシートを作成
'Call SheetVisibleFalse(SheetName) '追加シートを隠す。
'Call SheetVisibleTrue(SheetName) '追加シートを表示する。
'Call SheetDelete(SheetName) ''追加シートを削除する。
※隠しシートを作る時は、シートが存在している必要があります。
※すでに存在しているシート名を追加はできません。
※シート存在チェックなどの、例外処理の実装が必要です。
人気ブログランキングへ 記事が参考となりましたら。ブログランキングバナーのクリックをお願いします。
[てぃーだブログ広告]
Posted by Riichi at 23:21
│Comments(0)
│VB・VBA関連