正确转义VBA

正确转义VBA,vba,excel,Vba,Excel,我知道以前有人问过这个问题,但我发现答案很难包含在内,因此我提出了我自己的具体问题: 单元格(计数器,列)。Value=“=月份(G2)&“-”和年份(G2) 我试过: 单元格(计数器,列)。Value=“=月份(G2)和“-”年(G2) 但这失败了。我有点困惑如何正确地逃脱,在回顾了stackoverflow对这个问题的回答后,我仍然感到困惑。谢谢。您希望实现以下目标: 因此,它的字符串值需要将双引号加倍,如下所示: =MONTH(G2) & "" - "" & YEAR(G2

我知道以前有人问过这个问题,但我发现答案很难包含在内,因此我提出了我自己的具体问题:

单元格(计数器,列)。Value=“=月份(G2)&“-”和年份(G2)

我试过:

单元格(计数器,列)。Value=“=月份(G2)和“-”年(G2)


但这失败了。我有点困惑如何正确地逃脱,在回顾了stackoverflow对这个问题的回答后,我仍然感到困惑。谢谢。

您希望实现以下目标:

因此,它的字符串值需要将双引号加倍,如下所示:

=MONTH(G2) & "" - "" & YEAR(G2)
因此:

ActiveSheet.Cells(counter, col).Value = "=MONTH(G2) & "" - "" & YEAR(G2)"

您希望实现以下目标:

因此,它的字符串值需要将双引号加倍,如下所示:

=MONTH(G2) & "" - "" & YEAR(G2)
因此:

ActiveSheet.Cells(counter, col).Value = "=MONTH(G2) & "" - "" & YEAR(G2)"

假设您想要的是数字对,而不是真实的日期或公式。以下是在VBA子系统中使用工作表函数的方法:


单引号阻止Excel将数字对转换为日期。

假设您想要的是数字对,而不是真实的日期或公式。以下是在VBA子系统中使用工作表函数的方法:


单引号阻止Excel将数字对转换为日期。

我认为您的目标是:

Cells(counter, col).Formula = "=MONTH(G2) & "" - "" & YEAR(G2)"
要使带有内部双引号的公式正确,一种方法是首先用占位符替换内部双引号:

Cells(counter, col).Formula = "=MONTH(G2) & DBLQUOTE - DBLQUOTE & YEAR(G2)"
其中右侧是一个简单的文本字符串。然后将每次出现的
DBLQUOTE
替换为
,这是双引号的转义版本

请注意,我将.Value改为.Formula--我认为这样更好


希望能有所帮助。

我想你想要的是:

Cells(counter, col).Formula = "=MONTH(G2) & "" - "" & YEAR(G2)"
要使带有内部双引号的公式正确,一种方法是首先用占位符替换内部双引号:

Cells(counter, col).Formula = "=MONTH(G2) & DBLQUOTE - DBLQUOTE & YEAR(G2)"
其中右侧是一个简单的文本字符串。然后将每次出现的
DBLQUOTE
替换为
,这是双引号的转义版本

请注意,我将.Value改为.Formula--我认为这样更好


希望能有帮助。

这很有道理。谢谢一旦有答案,我会选择答案。这很有道理。谢谢一旦可用,我将选择回答。