访问 excel vba 双引号问题

access to excel vba double quotation issue

我正在使用 vba 从访问 excel 导出数据,我想 excel 接收这些行:-

 =COUNTIF('Sheet1'!G2:G68,"1/1")
 =COUNTIF('Sheet1'!G2:G68,"1/2")
 etc...

我的问题是我不能正确添加这些双引号,我知道要打印这个符号我应该像这样把它放两次 "" 但还是不行,我遇到了各种各样的错误,你能不能修改我的代码:=

For r = 6 To 16
.Range("B" & r).Value = "=COUNTIF('Sheet1'!C1:C67,1/" & r - 5 & ")"
Next

谢谢

如果您希望将双引号嵌入到您正在构建的字符串中,您可以通过(如您所述)使用两对双引号来 'escape' 您尝试添加的双引号,如下:

"=COUNTIF('Sheet1'!C1:C67,""1/" & r - 5 & """)"

...这将 return:

=COUNTIF('Sheet1'!C1:C67,"1/-5")

要记住的重要一点是,为了正确转义您插入的双引号,您不要将定义字符串本身的双引号计算为两对之一;这就是为什么在上面的例子中最后有 4 对:

""")"

外两个定义字符串本身;里面两个代表转义的双引号字符。

我总是觉得这种形式有些混乱,并且经常选择使用 chr 函数插入双引号,为双引号字符传入 ascii 值,即34;

"=COUNTIF('Sheet1'!C1:C67," & chr(34) & "1/" & r - 5 & chr(34) & ")"

...这将 return 与第一个示例相同的结果:

=COUNTIF('Sheet1'!C1:C67,"1/-5")

希望这对您有所帮助,

尼姆