0

我正在尝试编写将公式写入单元格的 vba 代码。该公式是使用固定的数组在另一个工作表上进行查找,并且其大小取决于已定义的变量。

这是代码的相关部分(变量已经定义并且是整数):

Range("C2").Select
ActiveCell.Formula = "=hlookup(A2,Visits!Range("C2",Cells(" & rowsforlook & ", " & rowsforauto & " + 1))," & rowsforlook & " - 1)"

我检查了变量没有问题。我意识到我没有 $fixed 数组,因为我不知道该怎么做。我也认为页面引用“访问!” 可能不正确,但即使没有这个,代码也没有选择一个数组。我尝试使用的数组是如果我键入会出现的选定区域

Range("C2",Cells(" & rowsforlook & ", " & rowsforauto & " + 1)).Select

谢谢。

4

1 回答 1

1

为了修复您的范围,我建议您在字符串中构建范围,而不是使用 Range() 方法。我想你想产生一个看起来像这样的结果:

"=hlookup(A2,Visits!C2:D10)"

(一个例子 - 您可能需要传递第三个参数 false 并更改行/列)

要动态编码,它可能看起来像:

startRow = 2 'Generate some dynamic string variables
endRow = 10
Range("C2").Formula = "=hlookup(A2,Visits!" & "C" & startRow & ":" & "D" & endRow & ")"

您可能还需要动态生成“C”和“D”部分,但这种格式应该适合您。

于 2013-08-07T16:45:30.463 回答