本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL]数式が入力されているセルだけに保護の[ロック]をかける方法

文書番号: 402324

最終更新日: 1997/10/21


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402324

概要

Excel 5.0 では、ワークシートのセルに対して [保護] をかけることができます。セ ルに対して [保護] の設定を行うことにより、[ツール] - [保護] - [シート保護]
サブコマンドの実行後に、そのセルへの編集を受け付けないようにしたり、ある
いは数式の内容をユーザーに見せないようにすることができます。
本文書では、Microsoft(R) Visual Basic(R) Programming System Applications
Edition (以下 VBA) を使って、ワークシートの「数式が入力されているセル」だ
けに [保護] の [ロック] あるいは [非表示] の設定を行う方法を、サンプル
モジュールと共に解説しています。

詳細

数式が入力されているセルだけに [保護] の [ロック] を設定するには、次の
ような二段階の作業が必要です。
  1.数式が入力されているセルを選択する。
  2.選択されているセルまたはセル範囲 に [書式] - [セル] コマンドの [保護] パネ
    ルに含まれる [ロック] を設定する。
手順 1.の作業を行うには、SpecialCells メソッドを使用します。手順 2.の作業
を行うには、セル範囲の Range オブジェクトに対して Locked プロパティ に適切
な値を代入します。
ワークシートのデフォルトの設定では、すべてのセルに [保護] の [ロック] が
かかっています (チェック ボックスがオンの状態)。[シート保護] を実行した
ときに、保護しなくてもよいセルには [ロック] をはずします。「数式が入力
されているセル」だけに [ロック] をかけて保護する場合は、あらかじめすべて
のセルの [ロック] をはずした後、「数式が入力されているセル」を選択し、
[ロック] をかけます。

サンプル

次のサンプル モジュールでは、ワークシート "Sheet1" の数式が入力されているセ ルに対して [保護] の [ロック] をかけ、さらに数式を [非表示] にしています。
  Option Explicit
  Sub WorksheetFomulasLock()
      Dim SelectObject As Object
      ' Sheet1 をアクティブ ウィンドウに設定
      ActiveWorkbook.Worksheets("Sheet1").Select
      ' 現在選択されているオブジェクトを取得
      Set SelectObject = Selection
      'もし、Sheet1 が [シート保護] されていたら
      If ActiveSheet.ProtectContents = True Then
          ' Sheet1 の [シート保護] を解除
          ActiveSheet.Unprotect
      End If
      'セル全体を選択
      Cells.Select
      '[保護] の [ロック] を解除
      Selection.Locked = False
      'セルの [保護] で [表示しない] を解除
      Selection.FormulaHidden = False
      'ワークシートで数式の入力されているセル全てを選択
      Selection.SpecialCells(xlFormulas).Select
      '[保護] で [ロック] を設定
      Selection.Locked = True
      '[保護] で [表示しない] に設定
      Selection.FormulaHidden = True
      '[シートの保護] を設定
      ActiveSheet.Protect DrawingObjects:=False, _
          Contents:=True, Scenarios:=False
      'サブルーチンが実行される前に選択されていたオブジェクトを選択
      SelectObject.Select
  End Sub

Keywords: KBHOWTO KB402324
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system