Страницы: 1
RSS
VBA. Определить диапазон данных
 
Добрый день!

Макрос -форма заполнения, при помощи списков формируется таблица на листе "форма" из нескольких строк (от 1 до 25 строк заполняются)
Затем данные при нажатии кнопки передаются на лист z.
Форма очищается, выходит сообщение "данные сохранены".
Тестирую 1й-2й-3й раз идеально, на 4й ошибка 400.
На двух разных ноутбуках.
Код
Sub AB()
Worksheets("форма").Range("E22", Worksheets("форма").Range("E22").End(xlDown).End(xlToRight)).Copy
n = Worksheets("z").Range("A100000").End(xlUp).Row
Worksheets("z").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues
Worksheets("форма").Range("E22:I100").ClearContents
Worksheets("форма").Range("K22:K100").ClearContents
MsgBox "Данные сохранены.Спасибо!"
End Sub
 
Формируйте нормально диапазон:
Код
With Worksheets("форма")
    lRw = .Cells(.Rows.Count, "E").End(xlUp).Row
    lClmn = .Cells(22, .Columns.Count).End(xlToLeft).Column
    .Range("E22").Resize(lRw - 20, lClmn - 4).Copy
End With

Но зачем определять количество столбцов, , если Вы их заранее знаете? (очистка до столбца К)
 
Спасибо, Виктор!  
Страницы: 1
Наверх