2016-05-14 150 views
0

是从访问数据导出到Excel中使用VBA,我想练成接收这些线: -访问Excel VBA中的双引号问题

=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 

感谢

+0

感谢回答,但你的代码仍然失踪(“)号 –

回答

1

如果你无线SH嵌入双引号串入您构建您可以通过做到这一点(如你所提到的),使用两对双引号“逃离”您正在尝试添加双引号,如下所示:

"=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") 

希望这有助于

NIM

+0

你更有帮助,它的工作,谢谢 –