Уважаемы знатоки, добрый день!
Имеется проблема до абсурдности не логичная, но требующая решения.
Задача следующая:
Необходимо написать макрос1 в книге1, который бы по очереди открывал все книги2 в папке и выполнял в них макрос2, содержащийся в каждой книге2.
Проблема состоит в том, что код в макрос2 заканчивается на вывод msgbox считающий время выполнения макроса:
и каждый раз нужно жать "ok". Что крайне нежелательно, т.к. книг2 в папке может быть более 100.
Так вот вопрос в том как отключить/избежать появления msgbox в макрос2?
Заранее благодарен.
PS: для наглядности сбрасываю пример макроса1 в книге1
и макрос2 в книге2
Заранее огромное спасибо!
Имеется проблема до абсурдности не логичная, но требующая решения.
Задача следующая:
Необходимо написать макрос1 в книге1, который бы по очереди открывал все книги2 в папке и выполнял в них макрос2, содержащийся в каждой книге2.
Проблема состоит в том, что код в макрос2 заканчивается на вывод msgbox считающий время выполнения макроса:
Код |
---|
MsgBox "данные обработаны за " & Timer - t & " сек.", vbInformation |
Так вот вопрос в том как отключить/избежать появления msgbox в макрос2?
Заранее благодарен.
PS: для наглядности сбрасываю пример макроса1 в книге1
Код |
---|
Sub opening() Dim sFolder As String, sFiles As String With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then Exit Sub sFolder = .SelectedItems(1) End With sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator) sFiles = Dir(sFolder & "*.xls*") Do While sFiles <> "" 'Открытие книги Workbooks.Open sFolder & sFiles 'действие с файлом Application.Run "'" & sFiles & "'!All.all_in_one" ActiveWorkbook.Close True sFiles = Dir Loop End Sub |
Код |
---|
Public CheckForPlan As Boolean Sub all_in_one() t = Timer Call оргструктура Call продажи Call инвестиции MsgBox "данные обработаны за " & Round(Timer - t, 2) & " сек.", vbInformation End Sub |