Excel / VBA:variables值/文本连接公式
我试图在macros中做到这一点:
单元格应填充=CONCATENATE("[Text]",Variable,"[Text2]")
variables是不同情况下的一个数字串。
假设: Text = Hello , variables填充1 , Text2 = Community
那么它应该在细胞中说
=CONCATENATE("Hello";"1";"Community")
它应该被读作: Hello1Community
当我尝试ActiveCell.FormulaR1C1 = "=CONCATENATE(""Hello"",Variable,""Community"")"
那么我得到这个: =CONCATENATE("Hello";Variable;"Community")
。
可悲的是,这是variables的名称,但不是它的内容。 我得到#Name? 错误,因为variables不包裹“”。
在另一种情况下,我试图把一个前面的工作表和单元格的引用。
在我的macros,我创build一个新的工作表,并希望参考它。 我将表格的名称保存到一个variables(string)中。 然后创build一个新的工作表,某些单元格应该引用前一个工作表。
比方说上一张表的名字= sheet1单元格我想引用= B4
然后我要填写新单元格: =sheet1!B4
sheet1在一个variables中。
当我尝试ActiveCell.FormulaR1C1 = "=" & variable & "!B4"
,然后它填充单元=sheet1'!B4'
我得到#Name? 错误,因为“
在第一种情况下,你需要计算出双引号的位置:
ActiveCell.FormulaR1C1 = "=CONCATENATE(""Hello"",""" & Variable & """,""Community"")"
在第二种情况下,您需要计算出单引号的位置,并将该属性更改为Formula
而不是FormulaR1C1
:
ActiveCell.Formula = "='" & Variable & "'!B4"