Sub перенос()
Dim d As String
d = Sheets("Новая схема проводок").Range("B6").CurrentRegion.Rows.Count
Sheets("Новая схема проводок").Range("B6:AO" & d).Select
Range("B6:AO" & d).Copy Sheets("Лист2").Range("A1")
Не пойму почему копирует и переносит не все строки( последние 4 не захватывает), помогите,пожалуйста,разобраться, таблица в диапазоне B:AO, конкретный диапазон не задаю,т.к. размеры таблицы меняются (по количеству строк)
1. CurrentRegion - это СВЯЗАННЫЙ диапазон. Возможно, у Вас есть пустая строка, которая и "разбивает" нужный Вам диапазон. 2. Т. к. Вы задаете диапазон явно указывая строку (переменная d), то нужно знать, как количество строк диапазона (Rows.Count) соотносится к абсолютному значению строк листа. Более конкретно без примера файла ответить затруднительно.
katealex, без примера трудновато проверьте через msgbox(d) свою переменную я так понимаю что количество строк определяется по столбцу В если не досчитаетесь по msgbox(d) то попробуйте определить строчку так d = Worksheets("Новая схема проводок").Cells(Rows.Count, 2).End(xlUp).Row
и Вам станет понятно, почему количество строк в этом диапазоне (Ваша переменная d) не совпадает с АБСОЛЮТНЫМ НОМЕРОМ последней заполненной строки диапазона.
А Вы посчитайте количество строк в выделенном диапазоне и убедитесь, что оно не равно номеру последней строки диапазона. ИМХО выше Вашего диапазона есть пустые строки.
не равно, был применен автофильтр и затем нужно было отфильтрованные данные перенести, значит неверно присвоила переменной значение через CurrentRegion, теперь понятно,почему не работало, спасибо!