excel - 从单元格引用中获取文件名和路径

标签 excel vba excel-formula

我有以下代码,它将工作表导出为 .CSV 文件。它将使用当前文件名和当前位置创建具有 .CSV 格式的新文件。

想要以某种方式对其进行修改,它应该从单元格 N15 中选择要保存的文件名,并且它应该保存在预定义的路径中。

Sub ExportAsCSV()

Dim MyFileName As String
Dim CurrentWB As Workbook, TempWB As Workbook

Set CurrentWB = ActiveWorkbook
ActiveWorkbook.ActiveSheet.UsedRange.Copy

Set TempWB = Application.Workbooks.Add(1)
With TempWB.Sheets(1).Range("A1")
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
 End With        

Dim Change below to "- 4"  to become compatible with .xls files
MyFileName = CurrentWB.Path & "\" & Left(CurrentWB.Name, 
Len(CurrentWB.Name) - 5) & ".csv"

Application.DisplayAlerts = False
TempWB.SaveAs Filename:=MyFileName, FileFormat:=xlCSV, 
CreateBackup:=False, Local:=True
TempWB.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub

最佳答案

只需更改文件名变量中的值

Sub ExportAsCSV()

    Dim MyFileName As String
    Dim CurrentWB As Workbook, TempWB As Workbook

    Set CurrentWB = ActiveWorkbook
    ActiveWorkbook.ActiveSheet.UsedRange.Copy

    Set TempWB = Application.Workbooks.Add(1)
    With TempWB.Sheets(1).Range("A1")
    .PasteSpecial xlPasteValues
    .PasteSpecial xlPasteFormats
     End With        

    Dim Change below to "- 4"  to become compatible with .xls files
    MyFileName = CurrentWB.Path & "\" & Range("N15").value2

    Application.DisplayAlerts = False
    TempWB.SaveAs Filename:=MyFileName, FileFormat:=xlCSV, 
    CreateBackup:=False, Local:=True
    TempWB.Close SaveChanges:=False
    Application.DisplayAlerts = True
    End Sub

关于excel - 从单元格引用中获取文件名和路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57557313/

相关文章:

Excel 公式显示链接的单元格 ID

excel - 如何在 Excel 中使用 VBA 函数输出填充 n 个单元格?

excel - 在查找功能中包括第一行

excel - 在Excel中合并具有相同值的行

Excel Vlookup 多个值

excel - 如何避免在 Excel 中垂直合并单元格?

excel - 性能问题 - 根据列标题重新排列列

excel - VBA代码不能按顺序工作有什么原因吗?

excel - 在VBA中找到字符出现在单元格范围内的单个单元格中的最大次数

excel - 列表中带有 #N/A 的排名数字