改进一下即可: x1=25 x2="ABC" for i = 1 to 2 debug.pring "x" & Trim(str(i)) '分别打印出 25与"ABC" next
错了:上面的debug.pring 应该是debug.print。
或者只改:str5 ="x" & Trim(str(i)) 也可以。
Dim i As Integer Dim x(2) As Variant x(0) = 24 x(1) = "ABC" For i = 0 To 1 Debug.Print x(i) Next这样不就解决问题了吗?
那就用集合 dim x as collection set x = new collection x.add 24, "x1" x.add "ABC", "x2" for i=1 to x.count debug.print x(i) next或者 debug.print x("x1") debug.print x("x2")
不好意思,向各位道歉,是我搞错了。datou985(^\会急转弯儿的猪/^) 说得对,变量名用在这儿是拼不出来的,打出来是X1、X2,而不是变量的值!! 撇开其他不谈,这儿行代码理应改为:x1=25 x2="ABC" for i = 1 to 2 debug.pring iif(i<2,x1,x2) '分别打印出 25与"ABC" next
如果你是这个意思,那么超过两个时可以用 Choose()
问题已经解决啦,使用CllByName语句。 假设当前窗体名称为frmMain,当前工程为Test。窗体中变量声明如下:(必须声明为窗体级变量,必须为Public作用育) public x1 as long public x2 as String x1=25 x2="ABC"软后在工程中增加一个模块,在模块中座如下声明 Public ThisFrmCls as New Test.frmMain在需要使用中置函数的地方,使用如下代码。 CallByName ThisFrmCls,"x1",VbGet
x1=25
x2="ABC"
for i = 1 to 2
debug.pring "x" & Trim(str(i)) '分别打印出 25与"ABC"
next
Dim x(2) As Variant
x(0) = 24
x(1) = "ABC"
For i = 0 To 1
Debug.Print x(i)
Next这样不就解决问题了吗?
dim x as collection
set x = new collection
x.add 24, "x1"
x.add "ABC", "x2"
for i=1 to x.count
debug.print x(i)
next或者
debug.print x("x1")
debug.print x("x2")
看你的提问
谁能猜到你的变量名是放在数据库中啊
以后提问说明白一点儿
不要以为就那一点儿有问题,就提那一点儿你给出的描述,很容易让人理解成,想通过循环来访问一组不同类型的变量
其实如果你的变量名放在数据库中的话
那么就更好办了
你就可以直接读recordset啦
就读两个字段,一个变量名,一个变量值
然后循环recordset不就OK了嘛可能你的数据表结构不是这样的
希望描述清楚一点儿
撇开其他不谈,这儿行代码理应改为:x1=25
x2="ABC"
for i = 1 to 2
debug.pring iif(i<2,x1,x2) '分别打印出 25与"ABC"
next
假设当前窗体名称为frmMain,当前工程为Test。窗体中变量声明如下:(必须声明为窗体级变量,必须为Public作用育)
public x1 as long
public x2 as String x1=25
x2="ABC"软后在工程中增加一个模块,在模块中座如下声明
Public ThisFrmCls as New Test.frmMain在需要使用中置函数的地方,使用如下代码。
CallByName ThisFrmCls,"x1",VbGet