2016-08-10 59 views
0

我希望單元格f21在f17中沒有條目(如果該條目很重要的話,它是一個時間條目)被鎖定。如果時間輸入到f17,則f21隨後被解鎖。這是我的代碼。它根本不起作用。一個單元格中的數據解鎖另一個

Private Sub Worksheet_Change(ByVal Target As Range) 
If ActiveSheet.Cells(6, 17) = blank Then 
    ActiveSheet.Range(Cells(6, 21)).Locked = True 
Else 
    ActiveSheet.Range(Cells(6, 21)).Locked = False 
End If 
End Sub 

出了什麼問題?

+0

**你還沒有定義*空白*** –

+0

請原諒我的無知。我怎麼做? –

回答

1

需要保護工作表才能使其工作。

Private Sub Worksheet_Change(ByVal Target As Range) 

    Cells(6, 21).Locked = IsEmpty(Trim(Cells(6, 17)) 

End Sub 

如果保護工作表時設置UserInterfaceOnly爲True,你不會有取消工作表以編程進行更改。

ActiveSheet.Protect UserInterfaceOnly:=True

+0

我已經添加了解除保護並保護此代碼的行,但單元格的鎖定狀態仍未更改。思考? –

+0

您將需要初始化該過程,但是在工作表上更改了值後,它應該正常工作。 –

+0

是應該在那裏?無論如何,我得到一個語法錯誤。這應該很容易,但相反,令人沮喪 –

1

嘗試這種方式不Range方法

If ActiveSheet.Cells(6, 17) = blank Then 
    ActiveSheet.Cells(6, 21).Locked = True 
Else 
    ActiveSheet.Cells(6, 21).Locked = False 
End If 
+0

我已經添加了解除保護並保護此代碼的行,但單元格的鎖定狀態仍未更改。思考? –

+0

由於某種原因,我仍然沒有得到這個權利。它似乎應該很容易,而且非常簡單 –

相關問題