我正在编写我的第一个 VBA 代码并收到一个我无法跟踪的奇怪错误。
如果另一个单元格 (C15) 等于“否”,我只是尝试为某些单元格分配一个值,如果 C15 具有任何其他值,则将这些单元格的值设置为“其他”。
如果我注释掉 else 部分,它会起作用,但失败并说
“对象‘_Worksheet’的方法‘Range’失败。”
然后Excel崩溃。
任何帮助是极大的赞赏。
Option Explicit
Public Sub_Contractor_Target As Range
Public Sub_Contractor_Target_Value As String
Public SC_Option3 As String
Sub SetTarget()
Set Sub_Contractor_Target = Worksheets("Menu").Range("C15")
Set Sub_Contractor_Target_Value = Sub_Contractor_Target.Value
End Sub
'Set Sub Contractor Section to Option 3
Private Sub worksheet_change(ByVal Sub_Contractor_Target As Range)
SC_Option3 = Worksheets("Options").Range("D27").Value
'MsgBox (Sub_Contractor_Target)
If Sub_Contractor_Target.Value = "No" Then
Worksheets("Menu").Range("C55") = SC_Option3
Worksheets("Menu").Range("C56") = "Low"
Else
Worksheets("Menu").Range("C55,C56").Value = "Other"
End If
End Sub
我认为您不需要大部分代码(公共变量,SetTarget sub)
尝试仅将以下内容放在“菜单”工作表代码窗格中
Option Explicit
Private Sub worksheet_change(ByVal Target as Range)
If Target.Address <> "$C$15" Then Exit Sub
On Error GoTo ExitSub
Application.EnableEvents = False
If Range("C15").Value = "No" Then
Range("C55") = Worksheets("Options").Range("D27").Value
Range("C56") = "Low"
Else
Range("C55,C56").Value = "Other"
End If
ExitSub:
Application.EnableEvents = True
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句