访问 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")
希望这对您有所帮助,
尼姆
我正在使用 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")
希望这对您有所帮助,
尼姆