我在 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編輯器複製貼上這些代碼作為標準模組。
- 取消保護運行任何巨集之前的工作表。
現在只允許對未鎖定的單元格進行更改。