我有Worksheet_SelectionChange
功能。在第一行中,我想条件是如果选择了多于1个单元格,则退出。
我写道:
If Target.Cells.Count > 1 Then Exit Sub
但是,当我选择整个工作表时,我收到一条错误消息: "运行时错误6 - 溢出"
似乎Target.Count
无法处理如此庞大的数字?
我该怎么做才能解决这个问题?
答案 0 :(得分:14)
将Count
替换为CountLarge
。
文档:http://msdn.microsoft.com/en-us/library/office/ff196838(v=office.15).aspx
CountLarge
属性在功能上与Count
属性相同,只是如果指定范围超过2,147,483,647个单元格(小于1 {1}}属性,Count
属性将生成溢出错误2048列)。但是,CountLarge
属性可以处理工作表的最大大小范围,即17,179,869,184个单元格。
答案 1 :(得分:0)
将支票分成行和列。这样,计数最多只会遇到"" 1,048,576(行),而不是17,142,120,448个单元格。
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