Ошибка при копировании на другой лист - PullRequest
0 голосов
/ 27 апреля 2018

Здравствуйте, у меня есть саб, который копирует с каждого листа в wb на лист с именем «Таблица», листы структурированы с несколькими таблицами, и мне нужно скопировать первую таблицу сверху, без заголовков и агрегировать каждую таблицу содержать из листов в лист "Таблица":

Sub TableCopy()
Dim ws1  As Worksheet, _
LR1 As Long, _
LR2 As Long
Application.ScreenUpdating = False
For Each ws1 In ActiveWorkbook.Worksheets
If ws1.Name <> "Table" Then
    LR1 = Sheets("Table").Range("H" & Rows.Count).End(xlUp).Row + 1
    LR2 = ws1.Range("B8", Range("B8").End(xlDown)).Rows.Count - 1
    ws1.Range("A:S" & LR2).Copy Destination:=Sheets("Table").Range("A" & LR1)
End If
Next ws1
Application.ScreenUpdating = True
End Sub

Я получаю

Метод Диапазон рабочего листа объекта не выполнен

Я просто не могу понять это, ты можешь мне помочь? ТНХ

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018
Sub TableCopy()
Dim ws1  As Worksheet, _
LR1 As Long, _
LR2 As Long
Application.ScreenUpdating = False

For Each ws1 In ActiveWorkbook.Worksheets
If ws1.Name <> "Table" Then
    LR1 = Worksheets("Table").Cells(Worksheets("Table").Rows.count, "H").End(xlUp).row + 1
    LR2 = ws1.Cells(ws1.Rows.count, "B").End(xlUp).row - 9
    ws1.Range("A2:S" & LR2).Copy Destination:=Worksheets("Table").Range("A" & LR1)

End If
Next ws1
Application.ScreenUpdating = True
End Sub
0 голосов
/ 27 апреля 2018

Два исправления:

Sub TableCopy()
Dim ws1  As Worksheet, _
LR1 As Long, _
LR2 As Long
Application.ScreenUpdating = False
For Each ws1 In ActiveWorkbook.Worksheets
If ws1.Name <> "Table" Then
    LR1 = Sheets("Table").Range("H" & Sheets("Table").Rows.Count).End(xlUp).Row + 1 'Fix 1 (qualified the rows.count)
    LR2 = ws1.Range("B8", Range("B8").End(xlDown)).Rows.Count - 1
    ws1.Range("A2:S" & LR2).Copy Destination:=Sheets("Table").Range("A" & LR1) 'Fix 2 (added a # for starting row in copy range, assume row 1 is header)
End If
Next ws1
Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...