我有一个简单的宏,它向下移动到最后一个填充的单元格,然后移动到右边,并在其中放置以下公式:“=左侧(RC-2,SEARCH(”-“,RC-2)-1)",它将两个单元格的值移至左边,并删除”-“之后的所有字符。
Range("B1").End(xlDown).Select
Selection.Offset(0, 1).Select
Selection.FormulaR1C1 = "=LEFT(RC[-2], SEARCH(" - ",RC[-2])-1)"问题是,当我运行代码时,会出现类型不匹配错误。在代码运行之前,代码进入的单元格是空的。
发布于 2022-03-17 12:55:46
VBA使用双引号(")来标记字符串文字。
const saying = "you look nice today"当您想要在字符串文本中有一个双引号时,就会出现以下问题:
const saying = "you look "nice" today"在本例中,VBA解释器支持所说常量的值为“您看起来”,就好像您已经编写了:
const saying = "you look "但是,它到了‘好’这个词,它被混淆了,因为它在语法上是无效的。在VBA中,有几种方法可以将双引号插入字符串文本。第一种方法是使用字符串连接和chr()函数。函数基于该字符从ASCII表返回一个数字值。每个字符都有一个数字值作为它的基础。A是65号,B是66号等等,ASCII号双引号是34个。因此,一份声明:
debug.print chr(65) & chr(66) & chr(34) 将显示以下内容
AB"所以你可以:
debug.print "you look " & chr(34) & "nice" & chr(34) & " today"它会展示:
you look "nice" today但是我想你会同意我的观点,这种方法看起来非常繁琐,所以在尝试将双引号放入字符串文字时有一条捷径。这似乎有点奇怪,但你需要用两个双引号代替一个双引号。因此,下面的代码:
debug.print "you look ""nice"" today"将印刷:
you look "nice" today我希望这个解释能有所帮助。
https://stackoverflow.com/questions/71512183
复制相似问题