ユーザーが最初に値を入力したセルに応じて Excel のセルを有効/無効にする

ユーザーが最初に値を入力したセルに応じて Excel のセルを有効/無効にする

Excel の A1、A2、A3 セルに 3 つのフィールドがあります。 最初は 3 つのフィールドすべてがロック解除されています。

  • ユーザーが最初に A3 に値を入力した場合、A1 と A2 は無効化またはロックされる必要があります。

  • ユーザーが A1 に値を入力すると、A2 は必須になりますが、A3 はロックされるか無効になります。

つまり、ユーザーは A1 と A2 を入力する必要がありますが、A3 は入力する必要はありません。または、ユーザーは A3 を入力する必要がありますが、A1 と A2 は入力する必要はありません。Excel で IF と else を使用してこれを実現できますか?

答え1

次の手順を実行します:

方法1:

  • A1:A2編集のみを許可するセルを選択します。
  • 右クリックポップアップメニューからクリックセルの書式設定
  • からセルの書式設定ダイアログ、 打つ保護タブ

ここに画像の説明を入力してください

  • ロックボックスのチェックを外す、そして最後にわかりました
  • クリックレビュータブそれからシートを保護します。
  • パスコードを入力してくださいシートの保護ダイアログボックスそしてヒットわかりました

ここに画像の説明を入力してください

注意についてはA3、まず保護解除シートを作成し、上記の手順を繰り返します。


方法2:

Sub LockCells()

Dim mainworkBook As Workbook

Set mainworkBook = ActiveWorkbook

mainworkBook.Sheets("Sheet1").Range("A1:A2").Value = "Lock"
   mainworkBook.Sheets("Sheet1").Range("A1:A2").Locked = True
   mainworkBook.Sheets("Sheet1").Range("A3").Locked = False
   ActiveSheet.Protect

End Sub

Sub Unlockcells()

  Dim mainworkBook As Workbook

  Set mainworkBook = ActiveWorkbook

  mainworkBook.Sheets("Sheet11").Range("A3").Value = "Free"
    mainworkBook.Sheets("Sheet11").Range("A1:A2").Locked = False
    mainworkBook.Sheets("Sheet11").Range("A3").Locked = True
    ActiveSheet.Protect

End Sub

注意

  • プレスAlt+F11VBエディタを開いてコピーペーストこれらのコードを標準モジュールとして使用します。
  • 保護解除マクロを実行する前にシートを確認してください。

これで、変更はロック解除されたセルに対してのみ許可されます。

関連情報