我想在ActiveCell中添加一个公式。公式应包含2个变量,一个是字符串,另一个是范围。
即
x = "This is my string variable"
y = cell.Address
我正在努力实现以下目标:
ActiveCell.Formula = "=" & x & y
单元格应包含字符串变量和包含地址的变量的值。行为应该与我在单元格中输入="Some string"&$a$1
相同。
答案 0 :(得分:2)
您需要将变量x放在引号中,并添加&符号,如下所示:
ActiveCell.Formula = "=" & Chr(34) & x & Chr(34) & "&" & y
另一种方法是加倍报价:
ActiveCell.Formula = "=""" & x & """&" & y
这是该部分的一个很好的答案: How do I put double quotes in a string in vba?
更新了围绕Y的支架,以及一些使阅读更容易的变量:
Sub Blah()
Dim strText As String
Dim strCellRef As String
Dim strDoubleQuotes As String
Dim strSpace As String
strText = "This is my string variable"
strCellRef = "$A$1"
strDoubleQuotes = Chr(34)
strSpace = " "
ActiveCell.Formula = "=" & strDoubleQuotes & strText & strSpace & _
strDoubleQuotes & "&" & strDoubleQuotes & "(" & strDoubleQuotes & "&" & strCellRef & "&" & strDoubleQuotes & ")" & strDoubleQuotes
End Sub
答案 1 :(得分:0)
ActiveCell.FormulaR1C1 = "=""This is my string variable"" & RC[+1]"
其中R [rowoffset] C [columnoffset]指向相对于活动单元格的单元格。
在我的示例中,RC [+ 1]是活动单元格的右侧单元格(在同一行)