VBA:将值从数组传递到范围
这应该相当简单。但由于某种原因,我得到的是空白单元格,而不是数组中传递到单元格中的值VBA:将值从数组传递到范围,vba,excel,Vba,Excel,这应该相当简单。但由于某种原因,我得到的是空白单元格,而不是数组中传递到单元格中的值 redim rFin (2,1) rfin (1,1) = "Bla1" rfin (2,1) = "Bla2" oSht1 = activesheet lRow = 10 With oSht1 .Range(.Cells(lRow1 + 1, 6), .Cells(lRow1 + 2, 6)) = rFin End With 编辑:还尝试使用从0到1而不是1到2的值的rFin。这对我很有用: O
redim rFin (2,1)
rfin (1,1) = "Bla1"
rfin (2,1) = "Bla2"
oSht1 = activesheet
lRow = 10
With oSht1
.Range(.Cells(lRow1 + 1, 6), .Cells(lRow1 + 2, 6)) = rFin
End With
编辑:还尝试使用从0到1而不是1到2的值的rFin。这对我很有用:
Option Base 1
Sub Main()
ReDim rfin(2, 1)
rfin(1, 1) = "Bla1"
rfin(2, 1) = "Bla2"
Set oSht1 = ActiveSheet
lRow = 10
With oSht1
.Range(.Cells(lRow + 1, 6), .Cells(lRow + 2, 6)) = rfin
End With
End Sub
重要的是选项Base 1
,因为没有它,数组从0开始。或者这会起作用:
'default of Option Base 0
Sub Main()
ReDim rfin(2, 1)
rfin(0, 0) = "Bla1"
rfin(1, 0) = "Bla2"
Set oSht1 = ActiveSheet
lRow = 10
With oSht1
.Range(.Cells(lRow + 1, 6), .Cells(lRow + 2, 6)) = rfin
End With
End Sub
这对我很有用:
Option Base 1
Sub Main()
ReDim rfin(2, 1)
rfin(1, 1) = "Bla1"
rfin(2, 1) = "Bla2"
Set oSht1 = ActiveSheet
lRow = 10
With oSht1
.Range(.Cells(lRow + 1, 6), .Cells(lRow + 2, 6)) = rfin
End With
End Sub
重要的是选项Base 1
,因为没有它,数组从0开始。或者这会起作用:
'default of Option Base 0
Sub Main()
ReDim rfin(2, 1)
rfin(0, 0) = "Bla1"
rfin(1, 0) = "Bla2"
Set oSht1 = ActiveSheet
lRow = 10
With oSht1
.Range(.Cells(lRow + 1, 6), .Cells(lRow + 2, 6)) = rfin
End With
End Sub
我找到了一个解决方法:使用一个空范围使变量与范围的格式匹配,这允许我使用此格式的单个变量(因此不必更改我已经设置的变量和循环)
这不是一个优雅的解决方案,但确实有效。只需使用空范围。我找到了一个解决方法:使用空范围使变量与范围的格式匹配,这允许我使用此格式的单个变量(因此不必更改我已设置的变量和循环)
oSht1.Cells(lRow1 + 1, 6).Resize(2) = [{"Bla1";"Bla2"}]
这不是一个优雅的解决方案,但确实有效。只需使用一个空范围
oSht1.Cells(lRow1 + 1, 6).Resize(2) = [{"Bla1";"Bla2"}]
甚至更短
[F11:F12] = [{"Bla1";"Bla2"}]
甚至更短
[F11:F12] = [{"Bla1";"Bla2"}]
哦我不知道!我刚找到一个解决办法。我将把它作为一个答案发布(尽管我的解决方案没有你更有效的解决方案那么优雅)顺便说一句,你知道base 1是否可以与单个变体一起使用吗?(而不是通过subs影响所有变体。)好吧,idk,使用redim rFin(1到2,1)对我不起作用(我最终得到的是空白单元格)。我的变通方法(使用空范围使变量与范围的格式匹配)允许我使用此格式的单个变量(因此不必更改我已设置的变量和循环)。哦。。。我不知道!我刚找到一个解决办法。我将把它作为一个答案发布(尽管我的解决方案没有你更有效的解决方案那么优雅)顺便说一句,你知道base 1是否可以与单个变体一起使用吗?(而不是通过subs影响所有变体。)好吧,idk,使用redim rFin(1到2,1)对我不起作用(我最终得到的是空白单元格)。我的变通方法(使用空范围使变量与范围的格式匹配)允许我使用此格式的单个变量(因此不必更改已设置的变量和循环)。这是一个很好的解决方案,可以避免担心数组的基。这是一个很好的解决方案,可以避免担心数组的基。
ReDim-rFin(1到2,1到1)
ReDim-rFin(1到2,1到1)