Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Последняя заполненная ячейка в столбце
 
День добрый! У меня задача следующая: с помощью макроса копировать последние ячейки столбцов С и D (оранжевые)  до последней заполненной ячейки в столбце В (синие). При этом синие столбцы периодически будут заполняться и оранжевые необходимо будет снова копировать до последней заполненной в столбце В. Т.е. в макросе нельзя использовать абсолютное имя ячейки с которой мы начинаем копирование.
Макрос написала, а заменить название ячеек начала копирования (с2 и d2) на переменную не получается, выдает ошибку.
Посмотри, пожалуйста, что можно применить?
Заранее огромное вам спасибо!!!!
 
Здравствуйте.
Последнюю заполненную строку в конкретном столбце можно найти так:
Код
ПоследняяСтрокаВстолбцеС = cells(rows.count, 3).End(xlUp).Row

В Вашем случае, я думаю, такой надо алгоритм:
1. Определили номер последней заполненной строки в В
2. Определили номер последней заполненной строки в С
3. Скопировали последнюю заполненную ячейку из С и вставили в диапазон в столбец С со строки - последняя заполненная в С +1 до строки - последняя заполненная в В.
Кому решение нужно - тот пример и рисует.
 
Я именно так и определяю последнюю стоку вот код:

   Range("c" & Cells(Rows.Count, 3).End(xlUp).Row).Copy    Range("c2:c" & _
   Cells(Rows.Count, 2).End(xlUp).Row).PasteSpecial Paste:=xlPasteFormulas
   Application.CutCopyMode = False
     
   Range("d" & Cells(Rows.Count, 4).End(xlUp).Row).Copy
   Range("d2: d" & _
   Cells(Rows.Count, 2).End(xlUp).Row).PasteSpecial Paste:=xlPasteFormulas
   Application.CutCopyMode = False

А когда заменяю 2 выделенные ячейки переменной или формулой выдает ошибку.
Подскажите, пож, как лучше сделать?
 
можно как-то так:
Код
Sub T()
Dim lngI As Long
Dim lngJ As Long
    lngI = Cells(Rows.Count, 3).End(xlUp).Row 'определяем строку последней заполненной ячейки в С
    lngJ = Cells(Rows.Count, 2).End(xlUp).Row 'определяем строку последней заполненной ячейки в В
    Range("C" & lngI).Copy Range("C" & lngI + 1 & ":C" & lngJ)
End Sub
Изменено: Пытливый - 2 Апр 2015 14:13:45
Кому решение нужно - тот пример и рисует.
 
Спасибо Вам огромное!!!!!!!!!!!! Все работает без ошибки:)
Страницы: 1
Читают тему (гостей: 1)