Private Function shk(应收, 资金, 应付, biaom) Dim h As Byte, x " />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VBA</em>中<em>UBound</em>函数问题-exc

<em>VBA</em>中<em>UBound</em>函数问题-exc

作者:乔山办公网日期:

返回目录:excel表格制作


是一样的。

Private Function shk(应收, 资金, 应付, biaom)
Dim h As Byte, x As Byte, y As Byte, s%, hr '%声明3个字节变量1个整数变量,还有....,最后一个变量没有声明类型,默认为Variant,这是一个不好的习惯,看下面的赋值可以声明为integer
hr = Array(11, 13, 18, 19)
h = 8
y = 10
'**********************************************写入应付款*******************************
''//*******
With .... End With,一般7a64e4b893e5b19e339用于对象层次比较多时,这时不建议使用。
该结构内用到With 后跟的对象时,可以省略,如
s = .Cells(Rows.Count, 3).End(3).Row + 1 等同于
s = Sheets("应付账款").Cells(Rows.Count, 3).End(3).Row + 1
''//

With Sheets("应付账款")
'获收"应付账款"表里现有行数后加1;若等于5,则s=7,它用来指定应付账款存放的开始行(与上面的内容之间空一行)

s = .Cells(Rows.Count, 3).End(3).Row + 1
If s = 5 Then s = s + 2
.Cells(s, 1).Value = 应收(6, 1) '不知道为何先存放了一个应收账款到应付账款内
''//
UBound(hr),是数组的上边界,第一个元素标号默认为0,这里hr有4个元素,
所以UBound(hr)=3
两个For 语句嵌套使用,循环获取取指定范围内的所有单元格内的值,并依次追加到"应付账款"表格内。

''//
For q = 0 To UBound(hr) '外循环,循环hr数组各元素指定的行

'内循环,循环自第2列至22列的内容;外循环每循环1次,内循环都要循环22-2+1次,注意for与while的区别
For x = 2 To 22
.Cells(s, x) = 应付(hr(q), x)
Next

s = s + 1'每取完一行数据,"应付账款"表格内当前行下移一行

Next
End With

ok!
返回4,因为默认下标是从0开始的。相当于A(0 to 4)
UBound语法如下:
返回一个 Long 型数据,其值为指定的数组维可用的最大下标。
UBound(arrayname[, dimension])
arrayname
必需的。数组变量的名称,遵循标准变量命名约定。
dimension
可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2
表示第二维,如此等等。如果省略 dimension,就认为是 1。

对具有下述维数的数组而言,UBound 的返回值见下表:
Dim A(1 To 100, 0 To 3, -3 To 4)

UBound(A, 1) = 100
UBound(A, 2) = 3
UBound(A, 3) = 4

Ubound(CMinRow)怎么了?你单独把它写出来作为一行,让程序如何执行?
简单试一下,把该行改为debug.print Ubound(CMinRow),看看错误提示符会不会改变。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网