永发信息网

vba for 对象的赋值

答案:3  悬赏:10  手机版
解决时间 2021-02-21 04:08
  • 提问者网友:niaiwoma
  • 2021-02-20 09:49
Dim FL1 As Worksheet
Dim FL2 As Worksheet
Dim FL3 As Worksheet
Dim FL4 As Worksheet
Dim FL5 As Worksheet
Sub aa()

Count = 5
For i = 1 To Count

Set "FL" & i = Workbooks.Open(Application.GetOpenFilename()).Worksheets("FL")

Next

End Sub

为什么不对?对象名不能这样赋值?
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-02-20 10:29
"FL" & i 是字符串,不是变量不能放在等号左边,进行赋值运算。
修改如下:
Dim FL(1 To 5) As Worksheet
Sub aa()
Count = 5
For i = 1 To Count
Set FL(i) = Workbooks.Open(Application.GetOpenFilename()).Worksheets("FL")
Next
End Sub
全部回答
  • 1楼网友:鸠书
  • 2021-02-20 12:08
Set "FL" & i = XXX 这样式不行滴。比如i=1的时候,你实际左边是在给"FL1"字符串赋值。而不是你想要的FL1等对象。
  • 2楼网友:酒醒三更
  • 2021-02-20 12:00
将代码修改为: function x(a as string) as integer if a = "www" then x = 12 else x = 31 end if end function 回到excel,在a1输入 www  ,在b1输入 =x(a1) 改变a1的值,b1中的自定义函数起作用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯