
请各位大侠帮忙看下这段程序有什么问题?(我想定义一个函数“yinyong") 50
PublicFunctionyinyong(targetAsRange,aAsInteger)DIMiasInteger,DIMjasInteger,DIMZasInte...
Public Function yinyong(target As Range, a As Integer)
DIM i as Integer,DIM j as Integer ,DIM Z as Integer
For Z = 0 To a
Cells(i + Z, j) = target.Value
Z = Z + 1
Next Z
yinyong = Cells(i + Z, j)
End Function
这个函数的作用是实现以下功能:
B1=A1
如果yinyong 参数a为2,
那么使用函数自动填充,B2=A1,B3=A2,大家帮忙看下,这个函数有什么问题?为什么实现不了上述功能 展开
DIM i as Integer,DIM j as Integer ,DIM Z as Integer
For Z = 0 To a
Cells(i + Z, j) = target.Value
Z = Z + 1
Next Z
yinyong = Cells(i + Z, j)
End Function
这个函数的作用是实现以下功能:
B1=A1
如果yinyong 参数a为2,
那么使用函数自动填充,B2=A1,B3=A2,大家帮忙看下,这个函数有什么问题?为什么实现不了上述功能 展开
2个回答
展开全部
你声明的display有四个参数,调用的时候也应该是四个才对display(shi,ge);display(qian,bai);改成display(qian,bai,shi,ge);如果还是不行,你可以把完整代码发给我看看。
追问
大侠,貌似不是一个问题额
展开全部
有几个疑惑和问题:
你那种在同一行上定义三个整型变量的写法好像有问题,至少我在Excel 2007上这么写会报错
变量i、j未赋初值
For的循环变量Z会自动递增,不需要在循环内部手动加1
你举的例子中,A列和B列及其起始行号是怎么指定的说的不是很清楚。
我猜测参数target可能是A列,参数a是A列的长度;B列通过变量i、j指定。那么代码可能是这样:
Public Function yinyong(target As Range, a As Integer)
Dim i, j, Z As Integer
i = 1 '表示第2行,因为Z从1开始算
j = 2 '表示第2列,即B列
For Z = 1 To a
Cells(i + Z, j) = target(Z).Value
Next Z
yinyong = Cells(i + Z, j) '这里Z的值是a+1
MsgBox Z
End Function
类似这样调用:
yinyong(Range("A1:A2"), 2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询