为什么清除vba中的excel单元格无法正常工作?

时间:2015-05-21 00:28:20

标签: excel vba excel-vba

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

它的工作正常,下一个兄弟单元格增量,

但随着它的下一个兄弟单元格值增加几百

为什么呢?

如何正确完成这项工作?

1 个答案:

答案 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