为了账号安全,请及时绑定邮箱和手机立即绑定

如何将双引号放入VBA中的字符串中?

如何将双引号放入VBA中的字符串中?

三国纷争 2019-06-24 09:36:31
如何将双引号放入VBA中的字符串中?我希望通过包含双引号的VBA在单元格中插入一个if语句。这是我的代码:Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"由于双引号,我在插入字符串时有问题。如何处理双引号?
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

我发现最简单的方法是加倍使用引号来处理引号。

Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)"

有些人喜欢使用chr(34)*:

Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," & CHR(34) & CHR(34) & ",Sheet1!A1)"

*注:char()用作Excel单元格公式,例如在单元格中写入“=char(34)”,但对于VBA代码,则使用chr()函数。


查看完整回答
反对 回复 2019-06-24
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

另一个解决办法是用一个临时替代字符构造一个字符串。然后可以使用替换将每个临时字符更改为双引号。我用倾斜作为临时的替代字符。

下面是我一直在做的一个项目的一个例子。这是一个小的实用例程,用于修复一个非常复杂的公式,如果/当单元格被意外踩到时。要进入一个单元格是一个困难的公式,但这个小实用程序立即修复了它。

Sub RepairFormula()Dim FormulaString As StringFormulaString = "=MID(CELL(~filename~,$A$1),FIND(~[~,CELL(~filename~,$A$1))+1,FIND(~]~,
 CELL(~filename~,$A$1))-FIND(~[~,CELL(~filename~,$A$1))-1)"FormulaString = Replace(FormulaString, Chr(126), Chr(34))
  'this replaces every instance of the tilde with a double quote.Range("WorkbookFileName").Formula = FormulaString

这实际上只是一个简单的编程技巧,但它使得在您的VBA代码中输入公式非常容易。


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 4292 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信