Excel 2003(未经测试的其他人)
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target
If Not Intersect(cell, Range("A2:A100")) Is Nothing Then
cell.ClearContents
cell.Offset(0, 1).Value = CInt(cell.Offset(0, 1).Value) + 1
End If
Next cell
End Sub
如果删除字符串
cell.ClearContents
它的工作正常,下一个兄弟单元格增量,
但随着它的下一个兄弟单元格值增加几百
为什么呢?
如何正确完成这项工作?
答案 0 :(得分:1)
添加Option Explicit以保护您的vba免于拥有未声明的变量并消除编译错误的可能性
尝试这种方式它应该工作
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Variant
For Each cell In Target
If Not Intersect(cell, Range("A2:A100")) Is Nothing Then
cell.ClearContents
cell.Offset(0, 1).Value = CInt(cell.Offset(0, 1).Value) + 1
End If
Next cell
End Sub