c++判断是否数组_如何判断单元格内是否包含公式和数组,教你一个VBA编程方法...

No.1

本节内容有两个重点,一个是数组,一个是公式。

首先要了解一下所谓的数组是什么,公式又代表什么。

4567e93b7269a1b22f576360f395ebbb.png

Excel中数组是存储于单元格内的数据,以一定的方式表示有一定特征的一组数组。

那么如何把Excel中的单元里的数据当作数组来输入呢?

这个方法有一个快捷方式,即选定一个单元格区域,在“编辑栏”里输入“=”+数据或“=”+公式。

按Shift+Ctrl+Enter组合键。

此时,查看编辑栏里的值会多出一个{}包含的值或公式。

这就是以数组形式保存的数据。

那么,这么着也只能单击某一个单元格,才能判断是否包含一个数组或公式。

本节的内容就是讲如何利用代码来判断这个结果。

此时用到两个属性,如下图:

6915ba935a51ee5bce4ca3975bc300dd.png

No.2

HasArrar和HasFormula都是Range对象的属性。

一个表示是否包含数组,一个表示是否包含公式。

其中的包含是指指定的Range对象。

如下图可直观看到,判断B列和C列。

94c38bedc16acddd70ba99ee66a5ce67.png

至于判断之后有什么作用,那就要对不同的应用场景进行考虑了。

如判断出是一个数组区域,那么就不能对此区域进行不更改,因为作为数组的一部分,更改之后是会出现一些问题。

如果判断出是某一个公式,反而可以进行公式更改。

这些都是根据不同的程序需求来进行。

No.3

代码介绍:

d91eb9781a3eb8c3807e4012e5a2dca5.png

自选定区域判断代码:

Private Sub SelectCode()Dim R As RangeSet R = Application.InputBox(prompt:="选择单元格区域", Type:=8)If R.HasFormula = True Then    MsgBox R.Address & "包含公式!"Else    MsgBox R.Address & "不包含公式!"End IfIf R.HasArray = True Then    MsgBox R.Address & "包含数组公式!"End IfEnd Sub

判断包含数组、公式

Private Sub CheckArrarFormula()Dim xR As RangeSet xR = Range("A3:A15")Dim R As RangeFor Each R In xR    With R        If .Offset(0, 1).HasFormula = True Then            .Offset(0, 3).Value = "True"        Else            .Offset(0, 3).Value = "False"        End If        If .Offset(0, 2).HasArray = True Then            .Offset(0, 4).Value = "True"        Else            .Offset(0, 4).Value = "False"        End If    End WithNext REnd Sub

上面例子要配合相应表进行,不然毫无效果。

本来这个属性在初级学习来说,有一定的难度,因为在初级来说数组和公式的应用是有点困难的,但是深入学习之后,会有更加理想的提高。

欢迎关注、收藏

---END---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值