【发布时间】:2014-01-02 22:04:14
【问题描述】:
我真的是 VBA 新手,如果通过“数据验证”从列表中选择某个文本,我会尝试锁定单元格。 我不断收到错误“运行时错误'424':需要对象。 我收到此代码错误; 如果 Application.Intersect(Target, Range("B7,b1000")) 什么都没有,那么, 我在这里做错了什么
Sub Locking2()
'
' Locking2 Macro
'Private Sub Worksheet_Change(ByVal Target As Range)
Const csPASSWORD As String = "tndppp"
'--
If Application.Intersect(Target, Range("B7,b1000")) Is Nothing Then
Exit Sub ' Do Nothing
End If
'--
''' 'B7:B1000' has been changed '''
' Unprotect sheet
ActiveSheet.Unprotect_
ActiveSheet.Unprotect Password:=csPASSWORD
With Range("b8:b1000")
If UCase(Range("B7,b1000").Value) = "PP" Then
' Lock 'E7:N1000'
.Locked = True
Else
' Unlock 'E7:N1000'
.Locked = False
End If
End With
'--
'Protect sheet
ActiveSheet.Protect _
Password:=csPASSWORD, _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
End Sub
【问题讨论】:
-
你还没有在你的代码中定义
target。
标签: vba excel excel-2010