powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отсутствующие листы
4 сообщений из 4, страница 1 из 1
Отсутствующие листы
    #37453888
khvostatyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

В этом коде копируется диапазон значений:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Private Sub CommandButton1_Click()
Dim TempWb As Workbook
Dim BazaSht As Worksheet
Dim iPath As String
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
Set BazaSht = ActiveSheet
iPath = ActiveWorkbook.Path & "\"
Set TempWb = Workbooks.Open(Filename:="Before.xlsx", UpdateLinks:=False, ReadOnly:=True)

TempWb.Sheets("Лист1").Range("A5:F300").Copy
BazaSht.Range("H1").PasteSpecial xlValues

TempWb.Sheets("Лист2").Range("A5:F300").Copy
BazaSht.Range("H301").PasteSpecial xlValues

TempWb.Sheets("Лист3").Range("A5:F300").Copy
BazaSht.Range("H601").PasteSpecial xlValues

TempWb.Close saveChanges:=False
.Calculation = xlAutomatic
.ScreenUpdating = True
End With

End Sub


Но если отстутствует какой-нибудь лист, то выдается ошибка Subscript out of range.
Помогите пожалуйста поставить обработчик, чтобы если листа нет, то просто не копировал. Спасибо!
...
Рейтинг: 0 / 0
Отсутствующие листы
    #37453916
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед кодом, который может вызвать ошибку:
On Error Resume Next
сразу после этого кода
On Error Goto 0

не злоупотребляйте
...
Рейтинг: 0 / 0
Отсутствующие листы
    #37453964
khvostatyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо.
Но если какого либо листа нет, то в диапазон, куда должны были копироваться его значения, копируются значения предыдущего листа. То есть значения дублируются. Это можно как-нибудь исправить?
...
Рейтинг: 0 / 0
Отсутствующие листы
    #37454100
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
On Error Resume Next
TempWb.Sheets("Лист1").Range("A5:F300").Copy
If Err= 0  Then BazaSht.Range("H1").PasteSpecial xlValues

Err.Clear
TempWb.Sheets("Лист2").Range("A5:F300").Copy
If Err= 0  Then BazaSht.Range("H301").PasteSpecial xlValues

Err.Clear
TempWb.Sheets("Лист3").Range("A5:F300").Copy
If Err= 0  Then BazaSht.Range("H601").PasteSpecial xlValues
On Error Goto  0 
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отсутствующие листы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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