Vba Target.count导致溢出错误

Vba Target.count导致溢出错误,vba,excel,overflow,Vba,Excel,Overflow,我有工作表\u selection change功能。在第一行中,我想假设选择了多个单元格,然后退出。 我写道: If Target.Cells.Count > 1 Then Exit Sub 但是,当我选择整个工作表时,会收到一条错误消息: “运行时错误6-溢出” 似乎Target.Count无法处理如此大的数字 我能做些什么来解决这个问题?将检查分为行和列。这样,计数最多只能遇到1048576(行),而不是17142120448个单元格 Private Sub Workshe

我有
工作表\u selection change
功能。在第一行中,我想假设选择了多个单元格,然后退出。 我写道:

    If Target.Cells.Count > 1 Then Exit Sub
但是,当我选择整个工作表时,会收到一条错误消息: “运行时错误6-溢出”

似乎
Target.Count
无法处理如此大的数字


我能做些什么来解决这个问题?

将检查分为行和列。这样,计数最多只能遇到1048576(行),而不是17142120448个单元格

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Columns.Count > 1 Then Exit Sub
    ' do stuff
End Sub

Count
替换为
CountLarge

文件:

CountLarge
属性在功能上与
Count
属性相同,只是如果指定范围的单元格数超过2147483647个(其中一个少于2048列),则
Count
属性将生成溢出错误。但是,
CountLarge
属性可以处理最大工作表大小的范围,即17179869184个单元格


CountLarge
是您需要的。好主意-但如果使用Ctrl单击等方式选择多个单元格,则失败。