首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在vba中将双引号放在字符串中?

如何在vba中将双引号放在字符串中?
EN

Stack Overflow用户
提问于 2012-01-27 04:18:32
回答 4查看 520.2K关注 0票数 137

我想通过vba在一个包含双引号的单元格中插入一个if语句。

下面是我的代码:

代码语言:javascript
复制
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"

由于双引号的原因,我在插入字符串时遇到了问题。如何处理双引号?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-27 04:21:27

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

代码语言:javascript
复制
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)" 

有些人喜欢使用CHR(34)*

代码语言:javascript
复制
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," & CHR(34) & CHR(34) & ",Sheet1!A1)" 

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

票数 212
EN

Stack Overflow用户

发布于 2017-02-25 03:11:19

另一种解决方法是使用临时替换字符构造字符串。然后,可以使用REPLACE将每个临时字符更改为双引号。我使用波浪号作为临时替代字符。

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

代码语言:javascript
复制
Sub RepairFormula()
Dim FormulaString As String

FormulaString = "=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代码中输入公式变得非常容易。

票数 16
EN

Stack Overflow用户

发布于 2016-07-19 19:08:59

字符串两边的双引号中的所有双引号必须更改为双引号。例如,我有一个json文件字符串:"delivery":"Standard",在Vba编辑器中,我将其更改为“”delivery“”:""Standard"",“”,一切都正常工作。如果你要插入很多类似的字符串,我的建议是先把它们全部插入"“之间,然后用VBA编辑器将”inside into“替换为”inside into“。如果你做错了,VBA编辑器会以红色显示此行,你会纠正这个错误。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9024724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档