vba二维数组赋值后,全是空值,why

vba二维数组赋值后,全是空值,why?
Dim myarrar
ReDim myarrar(4, 29)
myarrar = Sheets("data").Range(Cells(1, ro - 30), Cells(5, ro)).Value '为什么这里得到的数组是空的?Range(……)用debug确认过是有数据在里面的,
Range("b10:ae10").Value = Array(myarrar())
最新回答
听风入韵

2025-03-30 07:48:49

Range("b10:ae10").Value = myarrar 本身 myarrar就是数组了 就不需要array
第二个问题就是 myarrar(4, 29) 二维 Range("b10:ae10") 这是一维 那你myarrar就没有全部被赋值了
追问
后面的代码是存在错误,但现在问题是上面一句过不了。。。
myarrar = Sheets("data").Range(Cells(1, ro - 30), Cells(5, ro)).Value ’这里报警
我写成 myarrar=sheets("data").Range("y1:bb5") '这样就是OK的,奇怪。
追答
报警 主要还是你ro变量赋值问题
追问
myarrar = Sheets("data").Range(Cells(1, 24), Cells(5, 54))
写成上面这样也不行。。Range()就是跟我上面Range("y1:bb5")是同一区域啊。
追答
你横列搞错了 
myarrar = Sheets("data").Range(Cells(1, 24), Cells(5, 53))
Range("y1:ac30").Value = myarrar
追问
谢谢,问题已解决,在cells前面要加父级,也就是Sheets("data").:
myarrar = Sheets("data").Range(Sheets("data").Cells(1, ro - 30), Sheets("data").Cells(5, ro)).Value