7

Excel ワークシート内で、セル (A1) を編集から保護し、別のセル (B1) を書式設定から保護したいと考えています。これは、ユーザーが次のことを意味します。

  • A1 の値を編集できません
  • B1の値を編集できます
  • B1 のフォーマットを変更できません

「シートを保護」オプションを使用すると、シート全体のロックされたすべてのセルを保護できるため、ロックされている場合、A1 と B1 は同じ保護レベル (書式設定または編集に対して) になります。

特定のセルまたは範囲に対して個々の保護を設定する方法、または少なくとも同じ動作を取得する方法はありますか?

追加情報:

  • VBA を使用したソリューションは問題ありません (Worksheet.Protect メソッドにも同じ制限があるように見えますが...)。
  • セル A1 (編集を禁止する必要があります) は、書式設定に対して保護することも、保護しないこともできます (問題ではありません)。
  • Excel 2003 で動作するはずです。
4

1 に答える 1

2

ロックされていると、vba でセルの書式設定を許可するか有効化されていない限り、書式設定には対応しません。したがって、B1 のロックを解除するだけで、ユーザーがロックされたセルとロックされていないセルを選択できるようにするだけでフォーマットを編集することはできません。

Sub protectorate()

    activesheet.Range("B1").Locked = False

    With ActiveSheet
        .Protect
    End With


End Sub

これにより、B1 の値を除くシート全体の書式設定と値の変更が防止されますが、B1 の値は引き続き編集できます。

于 2012-11-30T20:20:09.660 に答える