vba中函数使用数组问题

vba中函数使用数组问题我使用countif函数,定义范围的时候想用二维数组的第j列,我写的是a=Application.WorksheetFunction.Counti... vba中函数使用数组问题我使用countif函数,定义范围的时候想用二维数组的第j列,我写的是a=Application.WorksheetFunction.Countif(WorksheetFouction.Index(data,0,j),1)其中data是二维数组名。请问错在哪里呢? 展开
 我来答
huang1314wei
2016-12-06 · 知道合伙人软件行家
huang1314wei
知道合伙人软件行家
采纳数:1323 获赞数:5877
税畅核心工程师

向TA提问 私信TA
展开全部

在工作表输入countif函数时候,第一个参数明确告诉你是range,如图


所以你那样引用是不对的,比如以下代码肯定是不行的

Sub test()
    Dim a
    a = Array(1, 2, 3)
    MsgBox Application.CountIf(a, 1)
End Sub

如果你要用这个函数,必须把数组写入单元格,再引用,如下

Sub test()
    Dim a
    a = Array(1, 2, 3)
    [A1:C1] = a
    MsgBox Application.CountIf(Range("A1:C1"), 1)
End Sub
追问
不想赋值,太影响速度了。大神有别的思路吗?对数组中的某一列进行条件筛选
追答
如果不想赋值,就放弃使用CountIf,使用循环遍历数组再判断
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式