Jia*_*ang 2 excel vba excel-vba
Private Sub Worksheet_Change(ByVal Target As Range)
Dim b As Integer
b = 0
Dim cell As Range
Dim rgn As Range
Set rgn = Range("f2:f200")
For Each cell In rgn
If IsEmpty(cell) = False Then
b = b + 1
End If
Next
Range("d2").Value = b
End Sub
Run Code Online (Sandbox Code Playgroud)
嗨,我在尝试运行以下Excel VBA代码时遇到了问题.将弹出一个消息框,说有一个
"堆栈空间"
问题到行Set rgn = range("f2:f200")
,然后另一个消息框会弹出并说出来
"对象'范围'的方法'值'失败"
我不知道出了什么问题......非常感谢你的帮助.
问题是您正在更改事件中的单元格,这将再次触发事件,并再次,...
您需要暂时禁用事件:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim b As Integer
b = 0
Dim cell As Range
Dim rgn As Range
Set rgn = Range("f2:f200")
For Each cell In rgn
If IsEmpty(cell) = False Then
b = b + 1
End If
Next
Application.Enableevents = False
Range("d2").Value = b
Application.Enableevents = True
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1849 次 |
最近记录: |