代码之家  ›  专栏  ›  技术社区  ›  padawan_IT

Excel/VBA:变量值/文本到串联公式

  •  2
  • padawan_IT  · 技术社区  · 7 年前

    =CONCATENATE("[Text]",Variable,"[Text2]")

    变量是一个数字,在不同的情况下是一个字符串。

    比如说: 变量 充满了 Text2=社区

    那应该是在牢房里

    =CONCATENATE("Hello";"1";"Community")
    

    你好1社区

    当我尝试时 ActiveCell.FormulaR1C1 = "=CONCATENATE(""Hello"",Variable,""Community"")" 然后我得到这个: =CONCATENATE("Hello";Variable;"Community")

    遗憾的是,这是变量的名称,而不是其内容。我得到了 #姓名?

    在另一个例子中,我试图引用以前的一张纸和一个单元格。

    在我的宏中,我正在创建一个新的工作表,并希望引用它。我将工作表的名称保存到变量(字符串)中。然后创建一个新的工作表,某些单元格应参考上一个工作表。

    假设上一张纸的名称=sheet1

    然后我想用以下内容填充新单元格: =sheet1!B4

    sheet1位于变量中。

    ActiveCell.FormulaR1C1 = "=" & variable & "!B4" ,然后用 =sheet1'!B4'

    我得到了 #姓名?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Olly    7 年前

    在第一种情况下,您需要确定在何处放置双引号:

        ActiveCell.FormulaR1C1 = "=CONCATENATE(""Hello"",""" & Variable & """,""Community"")"
    

    在第二种情况下,您需要确定在哪里放置单引号,并将属性更改为 Formula 而不是 FormulaR1C1 :

        ActiveCell.Formula = "='" & Variable & "'!B4"