【问题标题】:access to excel vba double quotation issue获取excel vba双引号问题
【发布时间】:2016-05-14 17:12:37
【问题描述】:

我正在使用 vba 将数据从 access 导出到 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

谢谢

【问题讨论】:

  • 感谢您的回复,但您的代码仍然缺少 (") 符号

标签: excel vba double-quotes


【解决方案1】:

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

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

...这将返回:

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

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

""")"

外面的两个定义了字符串本身;内部的两个表示转义的双引号字符。

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

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

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

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

希望这会有所帮助,

尼姆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    相关资源
    最近更新 更多