快乐赚

不能对多重选定区域使用此命令(Areas多重选择区域操作)

 人阅读 | 作者舞动奇迹 | 时间:2023-10-23 11:38

Areas

由选定区域内的多个子区域或连续单元格块组成的集合

Excel操作过程中,需要对表格进行多个区域的选择和计算操作,这方面我们会遇到如何针对选择区域进行操作。

Excel在这方面有一个Areas对象

 

其中Areas是一个集合,里面包含了在表格中所选择的区域。

比如单击一个单元格,就是选择了一个区域。

按住Ctrl键再选择一个,就是2个区域,继续选择就是3、4、5、6等等。

选择不是目的,选择之后要对这些区域进行属性设置,数值计算等等操作,如何来区分哪一个区域呢?

这里引入一个属性Item,大家对这个也不陌生,它需要一个索引号也就是在Item后面加括号,里面添加数字比如:Item(1)就是代码所选择的第一个区域,以此类推。

具体在实际中应用,就需要针对不同的项目来进行处理。

比如数值相加计算。

选择区域之后,就对相应区域数值进行相加,然后写到一个地方保存。

这个过程就可以利用Areass对象来操作。

如下图

 

功能

分别选择不同月份然后单击按钮,自动计算出数量添加到总计单元格。

代码很简单,如下图

 

按钮代码

Private Sub CommandButton1_Click()
Dim i As Long
Dim Ar As Range
Set Ar = Selection
'判断是否为多重选择区域
If Ar.Areas.Count <> 1 Then '如果是多重选择区域
    For i = 1 To Ar.Areas.Count'循环计算各选择区域
        Me.Range("G" & i + 1).Value = Application.WorksheetFunction.Sum(Ar.Areas.Item(i))
    Next i
Else
    MsgBox "不是多选择区域!"
End If
End Sub

当然了,这些代码并不能完成完全自动化功能,而且选择区域的时候,有一个顺序也不能颠倒次序,不然计算结果就会有些差错。

必须在明白一些选择次序规则的情况下使用,才能得到合理的结果。

如果掌握了各自的数据环境,也可节省许多工作量。

如果配合相应灵活的编程方案,使用起来就十分理想了。

这里不做更深入的研究。


文章标签:

本文链接:『转载请注明出处』