啟用/停用 Excel 中的儲存格取決於使用者首先在哪個儲存格中輸入值

啟用/停用 Excel 中的儲存格取決於使用者首先在哪個儲存格中輸入值

我在 Excel 的 A1、A2 和 A3 儲存格中有三個欄位。所有三個字段在第一個實例中都被解鎖。

  • 如果使用者先在 A3 中輸入值,則 A1 和 A2 應被停用或鎖定。

  • 如果使用者在 A1 中輸入值,則 A2 應該是強制的,但 A3 將被鎖定或停用。

換句話說,使用者必須填寫A1和A2,而不是A3,或使用者應該填寫A3,而不是A1和A2。在 Excel 中可以透過使用 IF 和 else 來實現這一點嗎?

答案1

按著這些次序:

方法一:

  • 選擇儲存格A1:A2或您只允許編輯的儲存格。
  • 右鍵點擊然後從彈出式選單中單擊設定單元格格式
  • 設定單元格格式對話框, 打保護片

在此輸入影像描述

  • 取消選取鎖定框, & 結束於好的
  • 點選評論選項卡然後保護表。
  • 輸入密碼進入保護工作表對話框並擊中好的

在此輸入影像描述

注意對於A3,首先取消保護床單並重複上述步驟。


方法二:

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+F11然後打開VB編輯器複製貼上這些代碼作為標準模組。
  • 取消保護運行任何巨集之前的工作表。

現在只允許對未鎖定的單元格進行更改。

相關內容