EXCEL里vba单元格值赋给数组的问题

最近在使用单元格赋值给数组时有一些疑问,希望得到高手指点。下面这一句是一个很普通的单元格区域赋值给数组s15
dim s15(),fs15range&,s15r&,s15c&
s15 =Range(Cells(1, fs15range), Cells(s15r, s15c))
但是它只能针对当前活动工作表操作,如果我要把它指定一个工作表的话,就会出错,但是我发现可以在后面把VALUE加上就正常了。代码如下
dim s15(),fs15range&,s15r&,s15c&
s15 =Range(Cells(1, fs15range), Cells(s15r, s15c)).value
可是这些程序我都是在WPS2013个人版里编写的,运行一切正常。但是发给我朋友后,他的是office2010,运行的时候就会在这一句报错,错误代码是1004

我在想是不是office2010里的语法有什么规定,应该怎么改一下符合它这个版本的要求?

在OFFICE里面,下面的代码不会报错,但是肯定仍然是当前工作表:

Sub xxx()
    Dim s15(), fs15range&, s15r&, s15c&
    fs15range = 1
    s15r = 10
    s15c = 10
    s15 = Range(Cells(1, fs15range), Cells(s15r, s15c)).Value
End Sub追问

我就是需要指定除了当前工作表的其它工作表,因为要从另一个工作表读数据。该怎么做?

追答

那就添加其它工作表的引用即可,下面的代码测试通过,你可以参考:

Option Explicit
Sub xxx()
    Dim s15(), fs15range&, s15r&, s15c&
    fs15range = 1
    s15r = 10
    s15c = 10
    s15 = Sheets("Sheet2").Range(Sheets("Sheet2").Cells(1, fs15range), Sheets("Sheet2").Cells(s15r, s15c)).Value
End Sub
温馨提示:答案为网友推荐,仅供参考