- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
回復 2# luhpro
沒看過value2這種用法耶,參考 http://support.microsoft.com/kb/213719/zh-tw
我覺得1#的問題是
Target為多個儲存格(合併儲存格也算多個)時,
If Target <> "" Then 中的 Target 比較時會自動使用屬性 .value,
但是此時的 Target.value 為一 value 陣列,故無法比較,發生錯誤
而由於加上 On Error Resume Next 導致去執行下一行的鎖定,應改為:- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- ActiveSheet.Unprotect
- Target.Locked = False
-
- If Target.Cells(1).Value <> "" Then
- Target.Locked = True
- ActiveSheet.Protect Contents:=True
- End If
- End Sub
複製代碼 補充給1#,發生error時不要隨便加On Error Resume Next去忽略它,除非你明確的知道它是甚麼錯誤,是不是可以忽略。 |
|