在vba中动态引用不同的工作表

时间:2016-10-10 08:45:57

标签: vba excel-vba excel

我试图在宏中引用不同的工作表而不明确地引用它们,以使宏与任何范围的工作表兼容。我很乐意使用(ActiveSheet.Index +/- 1)在工作表之间切换,但是当涉及到输入公式时,到目前为止我找不到任何帮助我的东西。

到目前为止我走的路线是使用我在http://www.cpearson.com/excel/sheetref.htm

找到的宏

在单元格中输入时引用下一个工作表的名称。例如= NextSheetName()返回'Sheet 2'。

我将结果与一个结合起来!标记并将其定义为nexxxtsheet。

所以当我输入公式

ActiveCell.FormulaR1C1 = "=" & nexxxtsheet & " "A1"

我希望单元格有公式:='下一张表的名字'!A1

然而它返回='下一张表的名字'!'A1'

差异是A1周围的引号 - 使公式无用。我对VBA很新,并且不知道为什么会发生这种情况,我完全肯定我用来切换工作表而没有直接引用的方法是因为缺乏一个更好的术语,而是破解风格。我非常愿意接受如何更好地在工作表之间切换或更正以使我的公式有用的建议。

全部谢谢!

1 个答案:

答案 0 :(得分:1)

使用"公式" ,不是" formulaR1C1",它对我有用。除非单元格格式是文本,在这种情况下您需要先更改

相关问题