VBA:基于单元格值保存到特定路径

VBA:基于单元格值保存到特定路径,vba,excel,Vba,Excel,我制作了一个宏,根据一些单元格值将Excel文件保存到某个位置。 但是当我运行宏时,文件将不会保存。 宏的最后一行变为黄色 如果跳过dtMonth和dtMonthnumber文件保存得很好,那么问题不在于dtYear或格式(dtDate,“yymmdd”) 我需要协调单元格值吗 单元格中的公式用于将日期转换为月份和年份: U1 =TEXT(Controle!H6;"mmmm") U2 =TEXT(Controle!H6;"jjjj") U3 =TEXT(H6;"mm") 听起来像是VBA

我制作了一个宏,根据一些单元格值将Excel文件保存到某个位置。 但是当我运行宏时,文件将不会保存。 宏的最后一行变为黄色

如果跳过
dtMonth
dtMonthnumber
文件保存得很好,那么问题不在于
dtYear
格式(dtDate,“yymmdd”)

我需要协调单元格值吗

单元格中的公式用于将日期转换为月份和年份:

U1 =TEXT(Controle!H6;"mmmm")

U2 =TEXT(Controle!H6;"jjjj")

U3 =TEXT(H6;"mm")

听起来像是VBA错误,断点有时没有被正确删除。试试这个:

  • 在过程中的某个位置设置断点
  • 更改代码中的某些内容,因此需要重新编译(例如,在某处添加
    Debug.Print”“
  • 使用菜单“调试”>“删除所有断点”(Ctrl+Shift+F9)
  • 重新编译它

  • 这应该可以解决问题。如果仍然不起作用,请将代码复制到某个地方,删除该模块,创建一个新模块,然后再次插入代码。

    听起来像是VBA错误,断点有时无法正确删除。试试这个:

  • 在过程中的某个位置设置断点
  • 更改代码中的某些内容,因此需要重新编译(例如,在某处添加
    Debug.Print”“
  • 使用菜单“调试”>“删除所有断点”(Ctrl+Shift+F9)
  • 重新编译它

  • 这应该可以解决问题。如果仍然无法使用,请将代码复制到某个位置,删除模块,创建新模块,然后再次插入代码。

    文件夹是否存在?您必须先创建文件夹,然后才能将文件保存到其中。听起来与文件夹匹配的变量有问题。在
    Locals
    窗口中检查
    dtMonthnumber
    dtMonth
    变量(以及最终的
    strFile
    字符串)是否与文件夹路径完全匹配。问题确实是文件夹不存在。创建文件夹后,它运行正常。谢谢大家!文件夹是否存在?您必须先创建文件夹,然后才能将文件保存到其中。听起来与文件夹匹配的变量有问题。在
    Locals
    窗口中检查
    dtMonthnumber
    dtMonth
    变量(以及最终的
    strFile
    字符串)是否与文件夹路径完全匹配。问题确实是文件夹不存在。创建文件夹后,它运行正常。谢谢大家!问题是文件夹不存在,但感谢您的建议。问题是文件夹不存在,但感谢您的建议。
    Dim dtDate As Date
    dtDate = Date
    
    Dim dtMonth As String
    Dim dtYear As String
    Dim dtMonthnumber As String
    
    dtMonth = ThisWorkbook.Sheets("Controle").Range("U1")
    dtYear = ThisWorkbook.Sheets("Controle").Range("U2")
    dtMonthnumber = ThisWorkbook.Sheets("Controle").Range("U3")
    
    Dim strFile As String
    strFile = "M:\X-tra pakketten\" & dtYear & "\" & dtMonthnumber & " - " & dtMonth & "\" & Format(dtDate, "yymmdd") & ".xlsx"
    ActiveWorkbook.SaveAs Filename:=strFile, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False