Страницы: 1
RSS
Запуск макроса другим макросом
 
Доброго времени суток, Форумчане!

Задачка следующая.

есть макрос который вытаскивает данные из базы данных и он защищен паролем. здесь вопросов нет.
есть другой макрос, который который копирует вытащенные данные из предыдущего файла в себя и проводит анализ данных.
приходится сначала запускать один макрос, потом вторым его открывать:
Код
Dim a As Variant, Nom As String

    Nom = ActiveWorkbook.Name
    ChDrive "C:"    ' Choix du lecteur
    ChDir "C:\"    'Choix du répertoire
    a = Application.GetOpenFilename("fichier excel (*.xlsm), *.xlsm", _
                                    , "Sélection de vos fichiers excel", , True)

    Select Case TypeName(a)
    Case Is = "Boolean"
        Exit Sub
    Case Else
        For B = LBound(a) To UBound(a)
            Workbooks.Open a(B)
        Next
    End Select

    Nom2 = ActiveWorkbook.Name
     Rows("1:8").Select
    Selection.Delete Shift:=xlUp
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Cells.Select
    Selection.Copy
    Windows(Nom).Activate
    Sheets("Îòñêàíèðîâàííûå ðóïòþðû").Select
    
    Cells.Select
    ActiveSheet.Paste
    Sheets("Èòîã").Select
    Range("A5").Select
    ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
    Sheets("Èòîã Âñåãî").Select
     Range("A3").Select
    ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh
    Sheets("Èòîã").Select
   Windows(Nom2).Close

End Sub

Собственно вопрос: Можно ли сюда прописать задачку которая по нажатию 1 кнопки открывать нужный файл, и запускать в нем макрос запароленный?
Изменено: ivan31888 - 30.07.2015 09:25:14 (Исправил правописание)

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
если макрос в другой книге:
Цитата
Application.Run "НазваниеМакроса"

лучше с указанием имени файла (или полного пути к файлу, если файл с макросом может быть не открыт):
Цитата
Application.Run "'Book 1.xls'!НазваниеМакроса"
 
Цитата
если макрос в другой книге:
Прошу прощения, за мою тупость...
Правильно ли я понят, что это
Цитата
Application.Run "'Book 1.xls'!НазваниеМакроса"
Необходимо вставить вместо строчек с 3й по 7ю?

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Цитата
ivan31888 написал:
приходится сначала запускать один макрос, потом вторым его открывать
Открывать? Это как? И зачем его снова "открывать"? Если оба макроса в одной книге, то можно в нужном месте первого макроса вызвать второй таким образом:
Код
Call ИмяВторогоМакроса
 
Цитата
Юрий М написал: Открывать? Это как? И зачем его снова "открывать"?
Прошу прощения за неграмотное построение предложения.
здесь подразумевалось , что после того как первый макрос выгрузит данные, я его закрываю сохранив. после этого в другой книге запускаю этот макрос
Код
Nom = ActiveWorkbook.Name
    ChDrive "C:"    ' Choix du lecteur
    ChDir "C:\"    'Choix du répertoire
    a = Application.GetOpenFilename("fichier excel (*.xlsm), *.xlsm", _
                                    , "Sélection de vos fichiers excel", , True)
Вариант Игоря мне подходит, только есть загвоздка с тем, что в первом макросе для выполнения выгруженного отчета, используется несколько макросов, в непонятной для меня последовательности. поэтому буду проводить испытания.

Спасибо за подсказки и оперативные ответы!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Читают тему
Наверх