Откройте несколько файлов excel с пользовательской формой
Напишите код в vba, который, вызывая пользовательскую форму одного файла excel ко всем остальным 10 файлам excel, без каких-либо ссылок в этих 10 файлах excel.
Он отображает вывод в текущем файле excel, но не в файлах-получателях, и показывает ошибку, поскольку Userform уже показана, а форма формы не возможна
Private Sub Workbook_OnClick() Dim mypath As String Dim file As Workbook Dim wb As Workbook Dim pat As String Application.ScreenUpdating = False ChDrive "C:" ChDir "C:\Users\Administrator\Desktop\John" 'john is a folder on the desktop mypath = Range("B1").Value 'mypath has the same value as chDir file = Dir(mypath & "\" & "*.xlsx") Set wb = Application.Workbooks.Open(file) If (wb.Click) Then Application.Visible = False userform1.Show End If End Sub
chDir упоминается, поскольку каталог по умолчанию, показанный с помощью функции dir (), был C: \ Users \ Administrator \ Documents \, но папка, сохраненная на рабочем столе, и это C: \ Users \ Administrators \ Desktop \ John
Сэр, он отображает ошибку времени выполнения – 91, которая является «Объектная переменная или с блочной переменной не установлена» и выделяет строку «file = Dir (mypath &« \ »&« * .xlsx »)
Private Sub Workbook_OnClick() Dim mypath As String Dim file As String Dim wb As Workbook Dim pat As String Application.ScreenUpdating = False ChDrive "C:" ChDir "C:\Users\Administrator\Desktop\John" 'john is a folder on the desktop mypath = Range("B1").Value 'mypath has the same value as chDir file = Dir(mypath & "\" & "*.xlsx") Do While file <> "" Set wb = Application.Workbooks.Open(file) If Not IsEmpty(wb) Then Application.Visible = False userform1.Show End If wb.Close file = Dir() Loop End Sub