由于Excel VBA中的前导撇号导致types不匹配错误
我遇到了错误
types不匹配
在…处
stSubject = (Sheets("Summary").Cells(i, "AD").Value) + " " + (Sheets("Summary").Cells(i, "AE").Value) + " " + (Sheets("Summary").Cells(i, "AF").Value) + " " + (Sheets("Summary").Cells(i, "AG").Value) + " " + (Sheets("Summary").Cells(i, "AH").Value) + " " + (Sheets("Summary").Cells(i, "AI").Value)
我的工作表格式如下所示:
请忽略列名称的不匹配作为我上面提供的代码。 对于列P和U处的单元格,您必须在单元格的开头添加一个撇号,以便我可以使用我的macros发送莲花笔记电子邮件。 避免麻烦,我需要为每个单元格添加一个撇号,我需要让Excel忽略撇号字符或自动添加字符,所以我很好奇你喜欢哪种方法? 我该如何解决这个问题?
Excel自动忽略撇号,所以这实际上不是问题。
尝试使用&
而不是+
。 如果所有的input值都是string的话, +
只能作为连接使用。 如果其中有一个数字(或date),VBA会尝试以math方式添加它们,并且会得到types不匹配错误。
stSubject = (Sheets("Summary").Cells(i, "AD").Value) & " " & (Sheets("Summary").Cells(i, "AE").Value) & " " & (Sheets("Summary").Cells(i, "AF").Value) & " " & (Sheets("Summary").Cells(i, "AG").Value) & " " & (Sheets("Summary").Cells(i, "AH").Value) & " " & (Sheets("Summary").Cells(i, "AI").Value)