VBA中,如何将文本对应到变量名,并调用该变量的值?
Functionrep(a1%,a2%,a3%,a4%,a5%)AsBooleanDimarr(1To5)AsVariantFori=1To5arr("a"&i)=1请问...
Function rep(a1%, a2%, a3%, a4%, a5%)As Boolean
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr("a" & i) = 1
请问此处如何将”a“ & i 的值作为数组下标传回arr中
即:函数中如果传入的a1=5,则i=1时,arr("a" & i)=arr(ai)=arr(5) 展开
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr("a" & i) = 1
请问此处如何将”a“ & i 的值作为数组下标传回arr中
即:函数中如果传入的a1=5,则i=1时,arr("a" & i)=arr(ai)=arr(5) 展开
4个回答
展开全部
用数组作参数就可以了,数组中有a1-a5这5个元素。你说的那种功能只可以在VBS或JS中才可以实现。
第一种(参数数组):
Function rep(ParamArray a())As Boolean
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr(a(i-1)) = 1
函数调用方式:rep 5,4,3,2,1
第二种(数组作为参数):
Function rep(a())As Boolean
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr(a(i)) = 1
调用方式:
dim b(1 to 5)
b(1)=5:b(2)=4:b(3)=3:b(4)=2:b(5)=1
rep b
第一种(参数数组):
Function rep(ParamArray a())As Boolean
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr(a(i-1)) = 1
函数调用方式:rep 5,4,3,2,1
第二种(数组作为参数):
Function rep(a())As Boolean
Dim arr(1 To 5) As Variant
For i = 1 To 5
arr(a(i)) = 1
调用方式:
dim b(1 to 5)
b(1)=5:b(2)=4:b(3)=3:b(4)=2:b(5)=1
rep b
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用string类型的变量存变量的地址,最后统一操作这些地址的单元格
例如:
将表三中成绩为空的单元格标为空。先存储所有单元格为空的地址,然后批量将此单元格的值改为“未考”
Dim rng as Range,rn$
On Error Resume Next
For Each rng In sheet3.Range("b2:d10")
If rng="" Then rn=rn & rng.Address & ","
Next
Range(Left(rn,Len(rn)-1))="未考" '去掉地址字符串最后一个,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行的,变量就是变量,不能用字符联接成变量名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询