Excel 如何通过更改单元格值将整个工作簿复制到所需位置

Excel 如何通过更改单元格值将整个工作簿复制到所需位置,excel,vba,Excel,Vba,我有一个excel工作簿,包含5张工作表和第3张工作表中的一个下拉按钮。当我使用下拉选择选项从下拉按钮中选择一个选项时,我想将整个文件保存到所需的文件夹中。如果有人能帮助我,那就太好了 谢谢。您需要知道下拉列表的名称,然后这应该可以: 子SaveToDesktop Application.ScreenUpdating=False Application.DisplayAlerts=False 将strName设置为字符串 使用ActiveWorkbook.SheetsSheet3.ShapesD

我有一个excel工作簿,包含5张工作表和第3张工作表中的一个下拉按钮。当我使用下拉选择选项从下拉按钮中选择一个选项时,我想将整个文件保存到所需的文件夹中。如果有人能帮助我,那就太好了


谢谢。

您需要知道下拉列表的名称,然后这应该可以:

子SaveToDesktop Application.ScreenUpdating=False Application.DisplayAlerts=False 将strName设置为字符串 使用ActiveWorkbook.SheetsSheet3.ShapesDrop Down Name“设置您的下拉名称 strName=.List.Value'获取所选值 以 使用ActiveWorkbook .SaveAs D:\R\&strName "关! 以 Application.DisplayAlerts=True Application.ScreenUpdating=True MsgBox Completed'可让您知道何时完成 端接头
您可以尝试更改事件:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Path As String

    If Not Intersect(Target, Range("A2")) Is Nothing And Target.Count = 1 Then 'Change the range to fit your needs

        Application.ScreenUpdating = False
        Application.DisplayAlerts = False

            Path = Target.Value

            ThisWorkbook.SaveAs Filename:="D:\R\" & Path

        Application.ScreenUpdating = True
        Application.DisplayAlerts = True

        MsgBox "Completed"

    End If

End Sub
注:

最好包含要保存的文件的扩展名。 您可能需要检查文件是否存在,以便相应地处理每种情况。 避免活动,而是使用此工作簿或其名称。
欢迎来到堆栈溢出。请注意,因为这不是免费的代码编写服务,所以有必要通过显示代码来显示您迄今为止所做的尝试、遇到的困难或错误,或者至少显示您所做的研究和努力。否则它只是要求我们为你做所有的工作。阅读并可能帮助您改进您的问题。我正在使用此代码。子SaveToDesktop Application.ScreenUpdate=False Application.DisplayAlerts=False With ActiveWorkbook.SaveAs D:\R&\&FormatNow,1&&ActiveWorkbook.Name'。关闭End With Application.DisplayAlerts=True Application.ScreenUpdate=True MsgBox Completed'以让您知道何时完成结束使用其他代码/问题详细信息子编辑您的问题。通过从下拉按钮中选择一个选项,正在以指定的名称保存整个工作簿。但我想将文件另存为从下拉按钮中选择的选项。希望这将明确问题要求。感谢您的回答,但不幸的是,它不起作用,或者可能是我指定的下拉名称不起作用。建议我克服这个问题。