Страницы: 1
RSS
Ошибка 400. Как ее избежать?
 
Добрый день!
Подскажите, что такое ошибка 400 и как её нейтрализовать

Вот код
Код
Sub Ìàêðîñ1()
'
' Iae?in1 Iae?in
'
' Ni?aoaiea eeaaeo: Ctrl+q
'
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.EnableEvents = False
    Dim b As Integer, b2 As Integer, c As Integer, d As Integer
    b = 1
    b2 = 646
    c = Sheets("process" ;) .Cells(1, 27)
    d = Sheets("total" ;) .Cells(1, 1)
    Dim a As Integer
    a = 5
    For x = Sheets("list" ;) .Cells(3, 2) To Sheets("list" ;) .Cells(4, 2)
    Range(Sheets("list" ;) .Cells(x, b), Sheets("list" ;) .Cells(x, b2)).Select
    Selection.Copy
    Range(Sheets("list" ;) .Cells(a, b), Sheets("list" ;) .Cells(a, b2)).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=True, Transpose:=False
    Range(Sheets("process" ;) .Cells(2, 23), Sheets("process" ;) .Cells(b, 26)).Select
    Selection.Copy
    Range(Sheets("total" ;) .Cells(d, 2), Sheets("total" ;) .Cells(d + c, 5)).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=True, Transpose:=False
    ActiveWorkbook.Save
    Next x
End Sub

Файл не выкладываю, ибо очень тяжёлый
 
Оставить часть данных и показать файл нельзя? А ещё бывают всякие архиваторы. И полностью текст ошибки на вражеском языке напишите.
 
Добавьте ловца ошибок, а потом скажите, что дает проверка.
В самом начале кода наберите
Код
on error goto errhandler
А в самом конце наберите
Код
errhandler: 
   msgbox err.description 
   exit sub
Результат msgbox'а выложите сюда. Если не хотите выяснять в чем ошибка (чего, конечно, лучше не делать), то проще будет написать:
Код
on error resume next
вместо
Код
on error goto errhandler 
Пока сложно что-то говорить по поводу ошибки. Можно предположить, что проблема может крыться в скрытых листах.
С уважением,
Федор/Все_просто
 
А в нет ли в книге форм? Ещё такая ошибка может возникнуть, если имеется две процедуры с одинаковым именем. Может быть в надстройке или в другой открытой книге.
 
Цитата
Все_просто пишет: msgbox err.description
Тогда у ж лучше:
Код
debug.print err.description
Проще копировать.  :)
Я сам - дурнее всякого примера! ...
 
Ошибку сразу видно: вызов Range активного листа с параметрами из других листов

Цитата
Range(Sheets("list"
Range(Sheets("process"
Range(Sheets("total"
перед Range тоже надо указывать лит - и ошибки не будет

Код
Sheets("list").Range(Sheets("list" ...
Sheets("process").Range(Sheets("process" ...
 
Цитата
Игорь пишет:
перед Range тоже надо указывать лист
необязательно.
правда, при этом не надо пользоваться методом select

и, кстати, это совсем другая ошибка - 1004. Метод Select из класса Range завершен неверно.
поводов для ошибки 400.Application-defined or object-defined error может быть много.
и без файла гадать можно долго.
Изменено: ikki - 26.03.2014 09:16:35
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Читают тему
Наверх