如何根據值(是/否)在另一個單元格(A2)中使用條件格式化來鎖定/解鎖單元格(A1)?使用條件格式鎖定/解鎖單元格
回答
網上有很多資源顯示如何做到這一點。這裏有一個文章,幫助解釋給我聽: http://database.ittoolbox.com/groups/technical-functional/excel-l/how-to-lockunlock-an-excel-cell-based-on-the-contents-of-another-cell-4625040
在鏈接死亡的情況下,這裏是它的要點:
要做到你所描述的,你需要創建一個事件過程的Excel將在工作表內容發生更改時調用。首先打開Visual Basic窗口(按Alt + F11)。您應該在左上方的窗格中看到s樹視圖;在該視圖中找到工作表的名稱,然後雙擊該名稱。這將在右側的大窗格中打開與該工作表關聯的代碼模塊。
在大窗格的頂部,您會看到兩個下拉列表。最初,左邊的將顯示(常規),而右邊的將顯示(聲明)。點擊左側列表右端的三角形箭頭,然後選擇工作表。
Excel將自動添加SelectionChange事件過程的「骨架」。這不是我們想要的,但它不會傷害任何東西。
Excel還會將右側下拉列表中的選擇更改爲SelectionChange。打開該列表並選擇更改。 Excel將添加第二個事件過程,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
閃爍的光標將位於此骨架的空行上。
您想要將代碼添加到Worksheet_Change過程來檢查G2單元格的內容,並更改G3:G66範圍的狀態。這需要一個IF語句,一對夫婦的賦值語句:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Cells(2, 7).Text = "X" Then
ActiveSheet.Range(Cells(3, 7), Cells(66, 7)).Locked = True
Else
ActiveSheet.Range(Cells(3, 7), Cells(66, 7)).Locked = False
End If
End Sub
IF語句測試細胞G2的當前內容(()方法需要一個行單元格 - 2 - 和列數 - 7 - 識別單元格; G列是第七列)。這兩個賦值語句改變了範圍的Locked屬性;一個鎖定細胞,另一個解鎖它們。
當然,如果你的代碼比較複雜,那麼每當工作表中的任何內容發生變化時,都要避免運行它。爲了避免過於頻繁執行的代碼,你可以使用傳遞給事件過程目標參數:
If Intersect(ActiveSheet.Cells(2, 7), Target) _
Is Not Nothing Then
這個條件語句使用相交()函數來確定細胞G2(ActiveSheet.Cells(2, 7))包含在目標中。
因此,整個事件過程會是什麼樣子:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(ActiveSheet.Cells(2, 7), Target) Is Not Nothing Then
If ActiveSheet.Cells(2, 7).Text = "X" Then
ActiveSheet.Range(Cells(3, 7), Cells(66, 7)).Locked = True
Else
ActiveSheet.Range(Cells(3, 7), Cells(66, 7)).Locked = True
End If
End If
End Sub
- 1. 鎖定/解鎖變量單元格
- 2. 鎖定空單元格並解鎖空閒單元格
- 3. 從鄰近單元格的條件解鎖單元格
- 4. 基於另一個單元格的值鎖定和解鎖單元格(excel 2013)
- 5. 更改鎖定單元格
- 6. 如何鎖定單元格
- 7. Excel - 基於另一個單元格解鎖的單元格解鎖
- 8. If-Then-Else代碼,鎖定/解鎖單元格不斷失敗
- 9. 根據條件鎖定特定單元格
- 10. 基於用戶鎖定單元格
- 11. jqGrid:如何鎖定和解鎖網格?
- 12. Apache POI默認鎖定所有單元格。如何使所有單元格解鎖?
- 13. XlsxWriter:僅鎖定特定單元格
- 14. 鎖定/解鎖單元excel VBA
- 15. 鎖定具有使用EPPlus的公式的單元格
- 16. 如何使用RangeCellAddress來解鎖使用POI的單元格?
- 17. 鎖定單元格小於零和空單元格VBA Excel
- 18. 鎖定Excel單元格中的單元格值
- 19. 根據其他單元格中的值鎖定單元格
- 20. 在vba excel中鎖定單元格
- 21. vba excel鎖定所有單元格
- 22. wx.Grid單元格大小鎖定
- 23. ASP.NET導出到Excel - 鎖定單元格
- 24. 數據輸入後鎖定單元格
- 25. 在VBA中鎖定單元格
- 26. Excel鎖定單元格查詢
- 27. 鎖定數組的單元格
- 28. 粘貼到Excel鎖定的單元格
- 29. 在Excel中動態鎖定單元格
- 30. 如何鎖定excel中的單元格