希望你能帮上忙。在这一点上,我的头靠在墙上。写VBA相当新颖。我有一些下面列出的VBA代码。基本上,我试图做的是锁定/解锁,更改填充颜色,并根据使用工作表更改事件和ActiveSheet的下拉菜单中的输入设置一组单元格的公式。代码位于工作表本身。一切工作正常,除了公式设置片。Excel VBA设置使用范围属性命名单元格公式
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="somepw"
If Range("d17").Value = "Yes" Then
.Range("D22:D78").Locked = False
.Range("D22:D78").Interior.Color = RGB(115, 246, 42)
.Range("Inc_06PCTotRev").Formula = "=SUM($D$22:$D$25)"
ElseIf WorksheetFunction.CountA(Range("d22:D78")) <> 0 Then
If .Range("D22").Locked = True Then
With Range("D22:D78")
.Locked = False
.ClearContents
.Interior.Color = RGB(217, 217, 217)
End With
Else: .Range("D22:D78").ClearContents
End If
Else: .Range("D22:D78").Interior.Color = RGB(217, 217, 217)
.Range("D22:D78").Locked = True
End If
.Protect Password:="somepw"
End With
End Sub
当被包括我收到错误消息“的方法对象的_Worksheet范围失败”和excel崩溃。如果我将它评论出来,它会毫无问题地发生。任何帮助将不胜感激。请让我知道,如果这不够具体或没有意义,我会尽我所能扩大。
是命名范围工作簿或工作表名为范围? –
每次添加该公式时,都会再次调用工作表更改事件。我猜你是在一个永恒的循环中结束 – Sorceri
名称范围代表什么,IE什么是实际范围? – Sorceri