Как скопировать всю книгу в нужное место, изменив значение ячейки - PullRequest
0 голосов
/ 27 мая 2019

У меня есть книга Excel, содержащая 5 листов и кнопка раскрывающегося списка на листе 3.Я хочу сохранить весь файл, когда я выбираю параметр из выпадающего меню с выбранным параметром в нужной папке.Было бы здорово, если бы кто-нибудь смог мне помочь.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Вы можете попробовать Изменить событие:

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

Примечания:

  1. Рекомендуется добавить расширение файла, который вы хотите сохранить..
  2. Вам может понадобиться проверить, существует ли файл, чтобы соответственно обработать каждую ситуацию.
  3. Избегайте активности, вместо этого используйте Thisworkbook или его имя.
0 голосов
/ 27 мая 2019

Вам нужно знать имя выпадающего меню, тогда это должно сработать:

Sub SaveToDesktop()

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Dim strName As String
    With ActiveWorkbook.Sheets("Sheet3").Shapes("Drop Down Name")   'Set your drop down name
        strName = .List(.Value) 'get the selected value
    End With

    With ActiveWorkbook
        .SaveAs "D:\R\" & strName
        '.Close
    End With

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

    MsgBox "Completed" 'To let you know when it is done
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...