Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2011, 22:27   #1
S_e_m
 
Регистрация: 28.06.2011
Сообщений: 4
По умолчанию Переход на последнюю строку VB

Доброго времени суток! У меня задачка такого рода:
Есть таблица (количество строк меняется) в которую мне нужно вставить формулу и протянуть до последней строки. Есть макрос который это делает, но он до конца не работает. Я делаю так: пишу формулу, выделяю ячейку и нажимаю на её правый нижний уголок два раза. Формула потянулась вниз как надо, но после того как таблица поменяла количество строк, тот столбец с формулой всё-равно считает по прежнему приципу. Подскажите:
1. Как в VB протянуть формулу до последней соседней ячейке?
2. Как в VB перейти на последнюю ячейку в столбце и потом ещё на одну ниже?

Таже проблема с нумерацией строк, только я думаю после решения задачки выше, она решится...
S_e_m вне форума Ответить с цитированием
Старый 28.06.2011, 22:41   #2
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

1)
Автозаполнение формулой до конца списка по столбцу С начиная с С1
Range("C1").AutoFill Destination:=Range("C1:C" & Range("A1").End(xlDown).Row)
2)
Range("A" & Range("A1").End(xlDown).Row + 1).Select
Заказать макрос можно на сайте http://excel4you.ru/

Последний раз редактировалось Watcher_1; 28.06.2011 в 22:43.
Watcher_1 вне форума Ответить с цитированием
Старый 28.06.2011, 23:08   #3
S_e_m
 
Регистрация: 28.06.2011
Сообщений: 4
По умолчанию

Спасибо большое. Очень помог
S_e_m вне форума Ответить с цитированием
Старый 29.06.2011, 00:02   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Или:
Код:
[A1].End(xlDown)(2).Select
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 29.06.2011, 22:02   #5
S_e_m
 
Регистрация: 28.06.2011
Сообщений: 4
По умолчанию

kuklp, спасибо за упрощенный вариант.
И сразу вопросик вдогонку - также как и в первом посте, таблица меняет количество строк, а мне надо, что бы вконце была строка суммирования (диапазон, например, C190:L190). Подскажите как можно выйти из такой ситуации.

Последний раз редактировалось S_e_m; 29.06.2011 в 22:05.
S_e_m вне форума Ответить с цитированием
Старый 29.06.2011, 22:30   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от S_e_m Посмотреть сообщение
kuklp, спасибо за упрощенный вариант.
И сразу вопросик вдогонку - также как и в первом посте, таблица меняет количество строк, а мне надо, что бы вконце была строка суммирования (диапазон, например, C190:L190). Подскажите как можно выйти из такой ситуации.
S_e_m, выложи ВЫ пример сразу, что есть - как надо, давно бы получили готовое решение. А в загадки играть, мне неинтересно. Я ответил на вопрос:"2. Как в VB перейти на последнюю ячейку в столбце и потом ещё на одну ниже?". Watcher_1 ответил на оба.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 29.06.2011, 22:46   #7
S_e_m
 
Регистрация: 28.06.2011
Сообщений: 4
По умолчанию

Исходник на работе. Завтра после работы выложу.
А злиться не надо . Я чайник в этих делах, потому и вопросы такие...
S_e_m вне форума Ответить с цитированием
Старый 30.06.2011, 08:00   #8
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Цитата:
Сообщение от S_e_m Посмотреть сообщение
Исходник на работе. Завтра после работы выложу.
А злиться не надо . Я чайник в этих делах, потому и вопросы такие...
Если чайник и хочется все БЕСПЛАТНО то придется довольствоваться тем на что у людей есть время.

Обычно за хороший код надо платить.... %)))

Цитата:
kuklp, спасибо за упрощенный вариант.
И сразу вопросик вдогонку - также как и в первом посте, таблица меняет количество строк, а мне надо, что бы вконце была строка суммирования (диапазон, например, C190:L190). Подскажите как можно выйти из такой ситуации.
Решение
Код:
    Range("A" & Range("A1").End(xlDown).Row + 1).Select
    'ENG Office =SUM  в русском не помню
    Selection.FormulaLocal = "=SUM(A1:A" & Selection.Row - 1 & ")"
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 30.06.2011, 09:51   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Кстати, предложенные варианты рассчитаны на список без пропусков.
Погоняйте по Ф8 такой код на таких данных:

Код:
Sub tt()
With Sheets(1)
.Cells(.Rows.Count, "A").End(xlUp)(2).Select
.[A1].End(xlDown)(2).Select
End With
End Sub

khgk
hkhk

hk
hl
hl

hlhl
hlhl
hlhl
Для разнообразия привёл два разных варианта написания, хотя это не все...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 30.06.2011 в 09:55.
Hugo121 вне форума Ответить с цитированием
Старый 30.06.2011, 10:20   #10
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Кстати, предложенные варианты рассчитаны на список без пропусков.
Погоняйте по Ф8 такой код на таких данных:

Код:
Sub tt()
With Sheets(1)
.Cells(.Rows.Count, "A").End(xlUp)(2).Select
.[A1].End(xlDown)(2).Select
End With
End Sub

khgk
hkhk

hk
hl
hl

hlhl
hlhl
hlhl
Для разнообразия привёл два разных варианта написания, хотя это не все...
В задании ничего не было сказано про то что списки могут быть "дырявыми"...
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копировать строку фильтрованного списка в другую книгу, на последнюю пустую строку Gvaridos Microsoft Office Excel 11 24.11.2010 00:48
Как считать последнюю строку ? Katmai Общие вопросы Delphi 13 27.07.2010 20:49
считать последнюю строку из истории в tt1() Andrey3055 Microsoft Office Excel 3 25.05.2010 18:32
переход на последнюю запись при открытии формы Ja-De Microsoft Office Access 2 18.01.2010 14:18
Удалить последнюю строку из файла Flame_of_Death Помощь студентам 6 21.07.2009 13:48