Excel 为什么会出现类型不匹配错误?

Excel 为什么会出现类型不匹配错误?,excel,vba,Excel,Vba,知道我为什么会在这里出现类型不匹配错误吗?光标高亮显示此代码底部文件名字符串中最后一个“&”。与变量dt有关,该变量表示日期。有什么想法吗 代码: 你已声明: Dim dt() As Date 这是一个数组。不能在数组上使用“&”字符串串联运算符。只需删除()。尝试使用以下方法: Dim FileNPath As String Dim strDate As String Dim dt As Date strDate = Format(dt, "ddmmyyyy") FileNPath = s

知道我为什么会在这里出现类型不匹配错误吗?光标高亮显示此代码底部文件名字符串中最后一个“&”。与变量dt有关,该变量表示日期。有什么想法吗

代码:

你已声明:

Dim dt() As Date

这是一个数组。不能在数组上使用“&”字符串串联运算符。只需删除()。

尝试使用以下方法:

Dim FileNPath As String
Dim strDate As String
Dim dt As Date

strDate = Format(dt, "ddmmyyyy")
FileNPath = strpath2 & nm & "_" & strDate & ".xlsx"

ActiveWorkbook.SaveAs fileName:=FileNPath

dt返回一个日期(数值),您需要将其转换为类似字符串的格式(dt,“mm/dd/yyyy”)@AGryckiewicz:当您得到正确答案时,您应该将其标记为接受答案。它将帮助其他人在将来阅读问题和答案。我知道你还没有接受任何任务的答案,但这样做甚至会给你一些声望点数…;-)好啊那么date函数的结果是一个数组?如何将数组转换为可以连接到文件名的内容?不,日期函数的结果不是数组。删除声明中的()。为什么“dt=Date”成功,我不知道。Date函数的结果是格式为“mm/dd/yyyy”的日期类型。为了将其作为文件名的一部分使用,您可能希望通过执行类似于format(dt,“ddmmyyyy”)@DanByström“dt=Date”的操作来格式化和删除前斜杠,因为它与DateTime等效。现在最后一个问题:知道我上次的“另存为”为什么不起作用吗?只要在代码中有意义的地方添加这些行即可。
Dim FileNPath As String
Dim strDate As String
Dim dt As Date

strDate = Format(dt, "ddmmyyyy")
FileNPath = strpath2 & nm & "_" & strDate & ".xlsx"

ActiveWorkbook.SaveAs fileName:=FileNPath