2012-11-30 68 views
7

在Excel工作表中,我希望保護單元格(A1)不受格式化的編輯,而另一格(B1)。這意味着,用戶:不同的單元格保護在同一個工作表中

  • 不能編輯A1
  • 的值
  • 可以編輯B1的值
  • 不能改變B1的格式

的「保護工作表「選項允許保護整張表格的所有鎖定單元格,因此A1和B1在鎖定時將具有相同的保護級別(不論是格式化還是編輯)。

有沒有辦法爲特定的單元格或範圍設置單獨的保護,或至少獲得相同的行爲?

附加信息:

  • 使用VBA是確定一個解決方案(雖然它看起來該Worksheet.Protect方法有相同的限制...)
  • 的單元格A1(爲此編輯必須被阻止)可以防止格式化或不(無關緊要)。
  • 應該用Excel 2003

回答

2

鎖定,只要你沒有允許設置單元格格式檢查或VBA激活不涉及格式工作。因此,您可以簡單地解鎖B1,並且無法僅通過允許用戶選擇啓用的鎖定和解鎖單元格來編輯格式。

Sub protectorate() 

    activesheet.Range("B1").Locked = False 

    With ActiveSheet 
     .Protect 
    End With 


End Sub 

這將阻止除B1值的整個工作表上的格式和值的變化,它仍然可以讓你編輯B1的價值。

+2

爲什麼使用VBA呢? – brettdj

+0

是的!非常簡單! :-)但是這也意味着我不能在同一個表格中有不同的**格式**保護:格式表格或根本不可格式化。我希望我永遠不會需要它...... @brettdj:是的,它也可以在不使用VBA的情況下設置Cell的Locked屬性。 –

+0

@brettdj可以通過菜單完成。我想它的個人習慣是通過vba進行保護。如果您想要編輯某些格式,可以通過菜單 – scott

相關問題