由于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)