2010年07月16日

[VBA]VBAからしか操作できない隠しシートを作る。

[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)    ''追加シートを削除する。

※隠しシートを作る時は、シートが存在している必要があります。
※すでに存在しているシート名を追加はできません。
※シート存在チェックなどの、例外処理の実装が必要です。

人気ブログランキングへ人気ブログランキングへ 記事が参考となりましたら。ブログランキングバナーのクリックをお願いします。




[てぃーだブログ広告]

同じカテゴリー(VB・VBA関連)の記事

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 3人
QRコード
QRCODE