如何在Excel公式中dynamic地更改表名?

我有一个VBA代码,其中一行看起来像这样

analysisSheet.Cells(i,tempCell).FormulaR1C1 =“= AVERAGE('Data1'!R [-2] C [-7])”

我希望能够更改'Data1'表,以便用户可以dynamic地select他/她想要分析的工作表。 例如,如果用户select“Data2”,那么代码就会像这样运行。

analysisSheet.Cells(i,tempCell).FormulaR1C1 =“= AVERAGE('Data2'!R [-2] C [-7])”

我试图创buildstringvariables,并把它,但它没有奏效。

有人有什么主意吗? 先谢谢你。

您应该能够使用stringvariables,例如,SheetName,如您所描述的:

Dim SheetName As String SheetName = "Data3" analysisSheet.Cells(i, tempCell).FormulaR1C1 = "=AVERAGE('" & SheetName & "'!R[-2]C[-7])"