1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
|
1 | |
Как указать адрес ячейки через переменную15.06.2012, 01:18. Показов 63132. Ответов 31
Метки нет (Все метки)
Нужно в ("C5:C116") вместо С116 вставить переменну i, которая обозначает ячейку. Подскажите пожалуйста как это реализовать?
0
|
15.06.2012, 01:18 | |
Ответы с готовыми решениями:
31
Адрес ячейки через переменную Как сохранить в переменную адрес активной ячейки, а затем эту ячейку выделить? Можно ли указать адрес ячейки, путем выделения её на листе? указать адрес получателя из ячейки access |
11513 / 3799 / 681
Регистрация: 13.02.2009
Сообщений: 11,217
|
||||||
15.06.2012, 01:37 | 2 | |||||
1
|
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
|||||||||||
15.06.2012, 02:05 [ТС] | 3 | ||||||||||
я сам запутался =(
нужно что бы макрос работал только для тех ячеек, где есть значение. Я хотел следующим кодом определить последнюю ячейку, вывести адрес ячейки в переменную i. В коде указать i как границу для макроса.
Добавлено через 10 минут
0
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||||||
15.06.2012, 08:35 | 5 | |||||
Если строки с данными идут без разрывов внутри, то я обычно пользую:
Их пересечение даст крайнюю ячейку
1
|
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
|
|
15.06.2012, 10:07 | 6 |
Range(Cells(i0, j0), Cells(i1,j1))
Где i0 - номер строки левой верхней ячейки диапазона, j0 - Номер столбца левой верхней ячейки диапазона, i1 - номер строки правой нижней ячейки диапазона, j1 - номер столбца правой нижней ячейки диапазона.
1
|
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
||||||
15.06.2012, 10:26 | 7 | |||||
А разве не проще для этой цели использовать метод SpecialCells?
Пример:
1
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
15.06.2012, 10:47 | 8 |
А если у вас данные идут не с первой строки?
Например несколько строк пропущенных, потом что-то типа шапки таблицы, в которой тоже не все ячейки заполнены? Какую строку вернет ваш метод? Правильно - первую строку в которой есть пустая ячейка в столбце поиска. Но она будет далеко не последняя из строк с данными. Добавлено через 12 минут вообще конечно способов может быть туча и разных. Который и как применить - все зависит от конкретных условий. ТС дана куча ответов на его вопрос - что нибудь да пригодится
1
|
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
|
||||||
15.06.2012, 10:55 | 9 | |||||
я всегда делал так:
Не по теме: как тут в коде VB вставлять отступы? тэг[INDENT] не работает =/
1
|
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
||||||
15.06.2012, 10:58 | 10 | |||||
skol13, моя реплика относится не к задаче автора темы, а к Вашей функции.
Да ведь ничего же не мешает задать вместо целого столбца нужный диапазон. В функции-то Вы его задаёте, используя переменную СоСтроки.
1
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
15.06.2012, 11:02 | 11 |
Не по теме: Я просто из макроса копирую код - все с отступами получается. Добавлено через 2 минуты Ну так функция то была написана или может быть даже откуда то выдернута в непонятно каком забытом году Багаж знаний то растет. А сейчас просто по привычке тащу ее из проекта в проект
1
|
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
|
|
15.06.2012, 11:04 | 12 |
хотя со SpecialCells проще, оказывается =)
1
|
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
||||||
15.06.2012, 12:59 [ТС] | 13 | |||||
Решил сделать по Вашему примеру, но теперь мне выдает ошибку в строке Selection.AutoFill Destination.
Вот собственно весь код, мне нужно до последней ячейки, в которой есть данные, столбца С- вставить формулу.
0
|
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
|
|
15.06.2012, 13:16 | 14 |
i и j перед числами не надо ставить. "0" и "1" в моих примерах - просто индексы. Надо было отформатировать:
Range(Cells(i0, j0), Cells(i1,j1)) Извинияюсь
1
|
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
|
15.06.2012, 13:50 [ТС] | 15 |
Поставил, все заработало, спасибо!
Но я рассчитывал на другой результат, что в этом диапазоне, он будет искать последнюю заполненную ячейку и вставлять формулу только до последней заполненной ячейки, а не для всего диапазона. Подскажите пожалуйста, как это можно реализовать?
0
|
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
|
||||||||||||||||
15.06.2012, 14:25 | 16 | |||||||||||||||
выбор последней заполненной ячейки на листе:
Если нужно найти последнюю ячейку в определенном столбце:
В вашем случае код будет выглядеть так:
2
|
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
|||||||||||
15.06.2012, 14:42 [ТС] | 17 | ||||||||||
Теперь на этой строчке
Код сейчас такой:
0
|
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 15
|
|
15.06.2012, 15:52 [ТС] | 19 |
Точно!! Извините меня, за мою недальновидность.
У меня сначала макрос вставляет пустой столбце С, затем в него протягивается формула. Можно сделать что бы формулу копировало до последней строки, в которой есть данные? Например столбец B, строка 120 является последней, то что бы формулу в столбце С протянуло до 120 строки.
0
|
призрак
|
||||||
15.06.2012, 16:02 | 20 | |||||
попробуйте так:
2
|
15.06.2012, 16:02 | |
15.06.2012, 16:02 | |
Помогаю со студенческими работами здесь
20
Как указать аргумент через переменную? Как записать 0 в переменную через ее адрес? Как указать адрес "ячейки"? Указать адрес ячейки Excel цифровыми координатами, а не буквенными Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |