VBA程序的redim应用
Subtest()Dimr%,i%,s&Dimarr,brr()WithWorksheets(4)r=.Cells(.Rows.Count,7).End(xlUp).Ro...
Sub test()
Dim r%, i%, s&
Dim arr, brr()
With Worksheets(4)
r = .Cells(.Rows.Count, 7).End(xlUp).Row
arr = .Range("g1:g" & r)
ReDim brr(1 To UBound(arr), 1 To 1)
For i = r To 1 Step -1
If arr(i, 1) = "理论时间" Then
brr(i, 1) = s
s = 0
Else
s = s + arr(i, 1)
End If
Next
.Range("h1").Resize(UBound(brr), 5) = brr
End With
End Sub
这段代码有几个地方不是很理解, arr = .Range("g1:g" & r) 前面多个点是什么意思?取值吗?
ReDim brr(1 To UBound(arr), 1 To 1) 这个是最不懂的
arr(i, 1) , brr(i, 1) 这两个也不是很懂。刚学求大神帮忙解答下 展开
Dim r%, i%, s&
Dim arr, brr()
With Worksheets(4)
r = .Cells(.Rows.Count, 7).End(xlUp).Row
arr = .Range("g1:g" & r)
ReDim brr(1 To UBound(arr), 1 To 1)
For i = r To 1 Step -1
If arr(i, 1) = "理论时间" Then
brr(i, 1) = s
s = 0
Else
s = s + arr(i, 1)
End If
Next
.Range("h1").Resize(UBound(brr), 5) = brr
End With
End Sub
这段代码有几个地方不是很理解, arr = .Range("g1:g" & r) 前面多个点是什么意思?取值吗?
ReDim brr(1 To UBound(arr), 1 To 1) 这个是最不懂的
arr(i, 1) , brr(i, 1) 这两个也不是很懂。刚学求大神帮忙解答下 展开
2个回答
展开全部
With Worksheets(4)
.....
end with
这是一种对象方法引用的简化方式,在该区域内前面有个点的方法实际都是 Worksheets(4) 的方法。为了省事而已。
ReDim brr(1 To UBound(arr), 1 To 1) 定义动态数组长度,这是两维数组。动态数组首先要声明,然后再定义长度。dim brr 或dim brr() 或dim brr() as 类型 ,这三种声明形式都可以用redim。
arr(i, 1) 访问两维数组当然要用两个下标量,你可以看成一张有多行,多列的表,这句可以看成是指向第i 行第1 列的单元。
.....
end with
这是一种对象方法引用的简化方式,在该区域内前面有个点的方法实际都是 Worksheets(4) 的方法。为了省事而已。
ReDim brr(1 To UBound(arr), 1 To 1) 定义动态数组长度,这是两维数组。动态数组首先要声明,然后再定义长度。dim brr 或dim brr() 或dim brr() as 类型 ,这三种声明形式都可以用redim。
arr(i, 1) 访问两维数组当然要用两个下标量,你可以看成一张有多行,多列的表,这句可以看成是指向第i 行第1 列的单元。
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
arr = .Range("g1:g" & r) 以点开头的去找with就行
这里对应的with是With Worksheets(4)
也就是说Worksheets(4).Range……
ReDim brr(1 To UBound(arr), 1 To 1)从新声明brr是从1开始到arr第一列个数结束、从1开始到1结束的二维数组
程序里面arr获得的是Range("g1:g" & r),那么拽就是一excel里的一个竖列,有几个就是几个呗
arr(i, 1) , brr(i, 1) 这俩有什么不懂的?
这里对应的with是With Worksheets(4)
也就是说Worksheets(4).Range……
ReDim brr(1 To UBound(arr), 1 To 1)从新声明brr是从1开始到arr第一列个数结束、从1开始到1结束的二维数组
程序里面arr获得的是Range("g1:g" & r),那么拽就是一excel里的一个竖列,有几个就是几个呗
arr(i, 1) , brr(i, 1) 这俩有什么不懂的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询