powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос работает только с одно листа
6 сообщений из 6, страница 1 из 1
Макрос работает только с одно листа
    #39923667
alikon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел макрос, который копирует данные из всех xlxs файлов в папке на один лист этой новой книги. Но он работает, только если перейти на лист, куда будут копироваться данные. А я хотел его скрыть и просто запускать макрос. При запуске с других листов выходит ошибка: Run-time Error 1004. Aplicatin - defined or object - defined error. Как спрятать этот лист, чтобы макрос работал?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub io()
Dim v As Object
Dim j As Integer
Me.Parent.ScreenUpdating = False: j = 2
With CreateObject("Scripting.FileSystemObject")
    For Each v In .GetFolder(Me.Path & "\").Files
        If v.name Like "*.xlsx" And Not v.name Like "[~]*.xlsx" Then
            With GetObject(v.Path).Sheets("Титул ")
j:              Me.Worksheets("Data").Cells(j, 1).Value = v.name
j = j + 1
                Me.Worksheets("Data").Cells(j, 1).Resize(44, 3).Value = .Range("B13:D63").Value
                j = j + 50
            End With
        End If
    Next
End With
End Sub
...
Рейтинг: 0 / 0
Макрос работает только с одно листа
    #39923677
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На первый взгляд все данные будут копироваться на лист "Data" вне зависимости, какой лист текущий.
На какой строке возникает ошибка?
...
Рейтинг: 0 / 0
Макрос работает только с одно листа
    #39923686
alikon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В полном коде еще очистка старых значений перед вставкой новых есть.
Код: vbnet
1.
2.
Worksheets("Data").Columns("A:C").Select
Selection.ClearContents


Думал ошибки тут точно быть не может. А похоже она именно здесь. Из-за этих 2-х строчек не работает.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub io()
Worksheets("Data").Columns("A:C").Select
Selection.ClearContents
Dim v As Object
Dim j As Integer
Me.Parent.ScreenUpdating = False: j = 2
With CreateObject("Scripting.FileSystemObject")
    For Each v In .GetFolder(Me.Path & "\").Files
        If v.name Like "*.xlsx" And Not v.name Like "[~]*.xlsx" Then
            With GetObject(v.Path).Sheets("Òèòóë ")
j:              Me.Worksheets("Data").Cells(j, 1).Value = v.name
j = j + 1
                Me.Worksheets("Data").Cells(j, 1).Resize(44, 3).Value = .Range("B13:D63").Value
                j = j + 50
            End With
        End If
    Next
End With
End Sub
...
Рейтинг: 0 / 0
Макрос работает только с одно листа
    #39923690
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Worksheets("Data").Columns("A:C").ClearContents
...
Рейтинг: 0 / 0
Макрос работает только с одно листа
    #39923691
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alikon1
В полном коде
А вообще, это изумительный подход. У меня есть ошибка, но я не покажу именно то место, где она возникает, покажу какое-нибудь другое, вдруг догадаются.
...
Рейтинг: 0 / 0
Макрос работает только с одно листа
    #39923692
alikon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Код: vbnet
1.
Worksheets("Data").Columns("A:C").ClearContents

Спасибо, заработало.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос работает только с одно листа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]