|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.11.2009, 15:50 | #1 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
выделение нескольких ячеек в VBA
есть координаты первой ячейки, координаты последней.
но в команде range требуется чтобы аргументы были A1, B2 и т.п. если туда впихивать cell(i,j) - ругается |
02.11.2009, 15:54 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Пробуем:
Код:
PS: Для работы с диапазоном ячеек совсем необязательно выделять этот диапазон. Наоборот, лучше вообще нигде в коде не использовать слово Select |
02.11.2009, 16:05 | #3 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
а..я между Cells ставил двоеточие по аналогии с range(A1:B10)
щас попробуем. ну ок, подскажите как бы стоило решать проблему иначе: "существуют две строчки в экселе, которые приходится часто копировать на другие. Чтобы автоматизировать этот процесс, я сделал кнопку и макрос, копирующий эти строки на нужные места. Проблема в том, что при изменении координат первой строки(строчку там выше пустую удалили или столбец) или при изменении длины строки, случаются косяки." Поэтому я решил с помощью VBA находить координаты начальной и конечной ячейки нужных строк, выделить и копировать их. |
02.11.2009, 16:10 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Проблема решается очень просто - путем присваивания имени копируемому диапазону.
То есть вместо такого кода Код:
используйте такой вариант: Код:
В этом случае вставка строк и прочие смещения нужного Вам диапазона больше не страшны. |
02.11.2009, 16:33 | #5 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
не очень понял.
вот в начале макроса будет где-нить написанно, что b35 = мой диапазон. Я подозреваю, что это может решить проблему если сам макрос удаляет строки и колонки. Но если юзверь еще до запуска макроса решит "подправить оформление", как это изменит макрос и строчку где я присваиваю b35 имя "мой диапазон"? или он в экселе присваивается? да и как решится проблема, если диапазон динамический? в феврале к примеру это две строчки по 14 ячеек а в декабре - 2 по 16. соответственно, два столбца могут появлятся/исчезать зы. тут есть горячая линия? А то немного стыдно по пустякам создавать отдельную тему. Или всё ок? |
02.11.2009, 16:40 | #6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
2) На примере этого файла объясняете, что, когда и куда надо копировать 3) Получаете готовый код. |
|
02.11.2009, 17:13 | #7 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
Да я в общем-то сделал то, что хотел. (возможно криво и не красиво, но работает)
Но если интересно, вот: http://filearchiv.ru/14803096 кнопка clone копирует первого чела на остальные. посмотри if checkbox'ы, они все одинаковы, кроме параметра k. Можно было бы в 10 раз сократить кол-во строк кода, если бы я знал как сделать что-то типа checkbox(k).value |
02.11.2009, 17:33 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Чтобы не писать кучу кода для каждого из чекбоксов, можно использовать такой вариант макроса:
Код:
PS: Только не спрашивайте меня, как это всё работает |
02.11.2009, 17:37 | #9 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
|
16.07.2010, 16:44 | #10 |
Регистрация: 15.07.2010
Сообщений: 4
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
текст из нескольких ячеек в одну | Tirendus | Microsoft Office Excel | 10 | 20.01.2016 16:45 |
Выделение группы ячеек | t0xa | Microsoft Office Excel | 1 | 19.09.2009 18:21 |
Выделение ячеек в опредленном столбце | Busine2009 | Microsoft Office Word | 2 | 02.06.2009 21:33 |
Создание списка из нескольких ячеек | DragonTM | Microsoft Office Excel | 6 | 30.10.2008 15:46 |
Фиксирование нескольких ячеек | lusui | HTML и CSS | 4 | 22.01.2008 17:54 |