2012-12-11 38 views
1

所以我想創建一個處理用戶輸入/輸出任務(我知道這是一個最好的kludge和最壞的攻擊)的Excel表。所以我希望用戶能夠編輯輸入單元格(僅限輸入單元格),並選擇(但不編輯)輸出。Excel 2010 - 多種類型的鎖在同一張表

示例:網格A1:C3。 A1:A3完全鎖定 - 不可選。 B1:B3是可選和可編輯的。 C1:C3可選擇且不可編輯。

這可能嗎?我的直覺告訴我不,但我想我會問。

回答

0

它使用工作表保護是可能的:

在單元格格式的單元格B1的對話框:B3,取消選中最後一個選項卡(保護)的「保護」複選框。然後保護工作表(右鍵單擊底部的工作表選項卡 - >保護表)。一旦表格受到保護,用戶只能編輯那些不受保護的單元格。

關於選擇C1:C3和不選擇A1:A3 - 您可以允許/阻止用戶在同一個表格保護對話框中選擇保護單元格。但是,這是一個表單寬度設置,因此默認情況下,您只能完全防止選擇所有保護單元或允許選擇所有單元。

如果您只想阻止選擇A1:A3,因爲您不希望用戶看到公式,只需在格式單元格對話框中選中「隱藏」 - 這樣用戶就不會看到公式。

如果您確實需要在可選和不可選之間進行區分,可以將其分成兩個工作表 - 或者使用一個小的VBA宏。爲此,請打開VBA編輯器(Alt + F11),然後雙擊左上角列表中的工作表。在代碼窗口,輸入以下代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Me.ProtectContents And Intersect(Target, Range("B1:C3")) Is Nothing Then Range("B1").Select 
End Sub 

這種方式,每次選擇的外線您需要的範圍內的小區時,B1被選中,而不是