对于工作表中的每一列,我试图根据该列的标题(其中该列的第一行与该工作表具有相同的名称)从另一个工作表中获取信息。
这是我的代码:
Dim i As Integer
For i = 1 To 60
wsmain.Cells(2, 11 + i).FormulaArray = "=IF(priceFlag, '[SP60-Sub-Index.xlsm]wsName'!F2, '[SP60-Sub-Index.xlsm]wsName'!E2)"
strName = wsmain.Cells(2, 11 + i).Value
With wsmain.Cells(2, 11 + i)
.Replace "wsName", strName, xlPart
End With
Next i
我已将strName
定义为字符串,但是它不起作用。
有什么想法吗?
答案 0 :(得分:0)
这会在第2行中查找工作表名称,并将公式放入第3行。
无需替换,只需串联就可以。
FormulaArray将使公式成为您只需要公式的数组公式。
您使用的代码是为了避免FormulaArrays限制为255个字符。对于简单的公式来说并不需要。
Dim i As Long
For i = 1 To 60
strName = wsmain.Cells(2, 11 + i).Value
wsmain.Cells(3, 11 + i).Formula = "=IF(priceFlag, '[SP60-Sub-Index.xlsm]" & strName & "'!F2, '[SP60-Sub-Index.xlsm]" & strName & "'!E2)"
Next i