gpt4 book ai didi

vba - Excel 2010 VBA : How to export the current worksheet asking user where to save?

转载 作者:行者123 更新时间:2023-12-02 14:38:17 25 4
gpt4 key购买 nike

我有一个 .xlsm,其中有一个大型自定义工具栏,其中包含用于处理工作中常见情况的自定义工具。

问题是我经常需要保存结果然后发送给其他用户,但我不想将宏/自定义工具栏保留到保存的工作簿中。

所以我正在尝试这种方式:添加另一个工作簿,将实际工作表复制/粘贴到新工作簿中,然后我想强制打开另存为。

'copy entire sheet
Cells.Copy
Range("B2").Select 'just to leave only one cell selected when I return

'Paste into a new workbook sheet 1
Workbooks.Add
Cells.Select
Application.DisplayAlerts = False
ActiveSheet.Paste
Application.DisplayAlerts = True
ActiveSheet.Range("B2").Select 'select only one cell
With Application.FileDialog(msoFileDialogSaveAs)
.Show
End With

问题是,在我输入文件名并选择目标文件夹并按“保存”后,我没有保存任何内容!根本没有创建任何文件。

编辑1

可能我并不清楚我的意图。我有一个 .xlsm,用于从其他来源导入和操作日期。我得到了一张包含我需要的所有数据的表(并且不包含公式)。我需要创建一个新工作簿,将工作表复制/粘贴到这个新文件中,然后强制打开“另存为”。此时我手动选择目标文件夹,输入文件名并选择文件格式,然后按“保存”。我需要能够在运行时选择这些内容

实际上问题是 Excel 并没有真正保存新文件,我不知道为什么。

为什么?

最佳答案

再试一次……

      Sub SaveASDiBox()
Dim FlSv As Variant
Dim MyFile As String
Dim sh As Worksheet

Set sh = Sheets("Sheet1")
sh.Copy
MyFile = "YourFileName.xlsx"
FlSv = Application.GetSaveAsFilename(MyFile, fileFilter:="Excel Files (*.xlsx), *.xlsx)", Title:="Enter your file name")

If FlSv = False Then Exit Sub

MyFile = FlSv

With ActiveWorkbook
.SaveAs (MyFile), FileFormat:=51, CreateBackup:=False
.Close False
End With

End Sub

关于vba - Excel 2010 VBA : How to export the current worksheet asking user where to save?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com