String 在VBA for Excel中,当字符串包含'&';
我有一段代码写入页面的标题部分。问题是写入头中的字符串偶尔包含“&”符号。这会干扰代码,因为VBA会自动将以下字符视为一段代码,即使它是字符串的一部分String 在VBA for Excel中,当字符串包含'&';,string,syntax,excel,header,vba,String,Syntax,Excel,Header,Vba,我有一段代码写入页面的标题部分。问题是写入头中的字符串偶尔包含“&”符号。这会干扰代码,因为VBA会自动将以下字符视为一段代码,即使它是字符串的一部分 ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & vbNewLine & aString aString没有“&”符号时,一切都很好。我得到一个粗体的,14号的顶行,然后是16号的,斜体的,在第二行的
ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & vbNewLine & aString
aString没有“&”符号时,一切都很好。我得到一个粗体的,14号的顶行,然后是16号的,斜体的,在第二行的阿斯特文本
如果aString类似于“B&S伟大公司”,则标题将显示“伟大公司”,因为字符串中包含“&S”
ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & vbNewLine & aString
我怎样才能避开这件事?我会在字符串中搜索“&S”,并通过插入另一个&S来手动补偿,以将其取消,但&S可能不是唯一出现的“&”符号
最好的办法是什么?通过告诉excel仅将aString作为字符串值读取,并且不要不正确地应用其内容,适当地减小大小会有所帮助吗?您需要通过向字符串中的每个实例添加第二个与符号来转义与,如下所示:
aString = Replace(aString, "&", "&&")
ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & _
vbNewLine & aString
我的第一次尝试没有成功,但我发现了我的问题。你的代码运行得很好。谢谢