VBA给数组配赋失败, 数组内数据为0 请高手指点

Dimarr,brr,crr,drr,errDima,b,i,j,k,lAsIntegerarr=Range("a1").CurrentRegiona=UBound(ar... Dim arr, brr, crr, drr, err
Dim a, b, i, j, k, l As Integer

arr = Range("a1").CurrentRegion
a = UBound(arr, 2)
i = 1
j = 1
k = 1
l = 1

ReDim brr(1 To UBound(arr, 1), 1 To a)
ReDim crr(1 To UBound(arr, 1), 1 To a)
ReDim drr(1 To UBound(arr, 1), 1 To a)
ReDim err(1 To UBound(arr, 1), 1 To a)

With Sheets("汇总表")

For b = 4 To Range("A65536").End(xlUp).Row
If Range("A" & b).Text Like "*Q1" Then
brr(i, a) = Range(.Cells(b, 1), .Cells(b, a)).Value
i = i + 1
ElseIf Range("A" & b).Text Like "*X1" Then
crr(j, a) = Range(.Cells(b, 1), .Cells(b, a)).Value
j = j + 1
ElseIf Range("A" & b).Text Like "*X2" Then
drr(k, a) = Range(.Cells(b, 1), .Cells(b, a)).Value
k = k + 1
Else
err(l, a) = Range(.Cells(b, 1), .Cells(b, a)).Value
l = l + 1
End If
Next
End With
展开
 我来答
姓王的wy451

2018-02-06 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8740万
展开全部
brr(i, a) = Range(.Cells(b, 1), .Cells(b, a)).Value
这类语句有两个问题:一是左边是数组的一个数据存贮区,而右边是一个单元格范围。二是不是当前单元格是,Range前面也要有工作表对象,也就是前面也要有点号才行:
brr(i, a) = .Range(.Cells(b, 1), .Cells(b, a)).Value
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式