2

Excel VBAで、特定のロックされたセルを選択し、他のセルを「選択不可」のままにする方法はありますか?

保護されているExcelシートがあります。ユーザーがシート内の特定のロックされたセルを選択できるようにすると同時に、同じシート内の他のロックされたセルを選択できないようにしたいと考えています。基本的に、私は小さなセルベースのカレンダーを持っています。この小さな範囲で特定の日付 (ロックされたセル) を選択できるようにしたいのですが、シート内の他のロックされたセルを選択する必要はありません。Excels シート保護では、シート全体の「ロック セルの選択」のみが許可されているようです。VBA でこれを実現する方法があれば、ぜひ教えていただきたいです。ここに投稿する前に、他の多くの投稿を調べました。

4

1 に答える 1

2

ワークシートを保護すると、各セルの動作はLockedプロパティによって定義されます。サンプルコード:

ActiveSheet.Unprotect
ActiveSheet.Range("A1").Locked = False
ActiveSheet.Range("A2").Locked = True
ActiveSheet.Protect
ActiveSheet.EnableSelection = xlNoRestrictions 'All the cells can be selected 

このコードでは、ユーザーは編集できますcell A1が、cell A2. デフォルトでは、Lockedプロパティは に設定されていることに注意してTrueください。

明確化

ワークシート全体に保護が適用されます。セル レベルでできることは、Lockedプロパティに依存することだけです。得られないのは、異なる (ロックされた/ロック解除された) 範囲に対する異なる動作です。

于 2013-10-20T14:40:49.537 に答える