【问题标题】:Saving file as same name but attaching date - referencing cell date将文件另存为同名但附加日期 - 引用单元格日期
【发布时间】:2018-04-13 06:26:27
【问题描述】:

我能够运行此代码而不会出现任何错误,但是给出的目标略有不同。

它会根据下面链接中的代码添加到Do Events部分下方。

Loop through all excel file in given folder

代码目标:

  • 在文件夹中浏览工作簿的文件夹,日期参考当前工作簿的“H2”范围,并将它们保存在与浏览文件相同的文件夹中

现状:

  • 能够保存带有日期的文件,但它会保存在之前的文件夹中

例如文件存在于

C:\Users\Tyler\Desktop\Test

带有日期的新文件将保存在

C:\Users\Tyler\Desktop

代码

Dim CellDate As String, fName As String

    fName = Left(ActiveWorkbook.Name, (InStrRev(ActiveWorkbook.Name, ".", -1, vbTextCompare) - 1))



    CellDate = ThisWorkbook.Worksheets("Sheet1").Range("H2")

    CellDate = Format(Date, "YYYYMMDD")


    ActiveWorkbook.SaveAs fName & "-" & CellDate, FileFormat:=xlOpenXMLWorkbookMacroEnabled

感谢帮助(:

【问题讨论】:

  • 你为什么要覆盖CellDate
  • 找到文件夹的代码在哪里?您可以从找到的文件夹路径的返回值中提取您需要的内容。
  • @QHarr 我没有放代码,因为太长&和上面列出的链接一样,没有做任何改动link
  • @FDavidov 覆盖是什么意思?
  • 您首先将单元格H2 的内容分配给它,然后用Format(Date, "YYYYMMDD") 覆盖它。

标签: excel vba file-rename chdir fileopendialog


【解决方案1】:

你试过了吗

ActiveWorkbook.SaveAs myPath & fName & "-" & CellDate, FileFormat:=xlOpenXMLWorkbookMacroEnabled

如果您的文件夹选择代码与链接一致,则其值将存储在 myPath 中。

假设“C:\Users\Tyler\Desktop\Test”是选择的文件夹。

注意:

链接中的相关代码......

'Retrieve Target Folder Path From User
  Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)

    With FldrPicker
      .Title = "Select A Target Folder"
      .AllowMultiSelect = False
        If .Show <> -1 Then GoTo NextCode
        myPath = .SelectedItems(1) & "\"
    End With

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 2020-10-18
    • 2023-01-24
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多