Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выделить несколько ячеек/диапазонов одновременно - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделить несколько ячеек/диапазонов одновременно (Макросы/Sub)
Выделить несколько ячеек/диапазонов одновременно
lFJl Дата: Пятница, 29.01.2016, 08:41 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
Доброго дня!
Подскажите пожалуйста, как выделить допустим активную ячейку и через 1 от активной
Пробовал через [vba]
Код
range(ActiveCell.Offset(1, 0),ActiveCell.Offset(3, 0),ActiveCell.Offset(0, 6)).Select
[/vba]
но чет ошибку выдает.
Хотя через запись макроса можно сделаь в таком виде: [vba]
Код
Range("T15,Y17,AC15,AF17").Select
[/vba]Можете подсказать?
 
Ответить
СообщениеДоброго дня!
Подскажите пожалуйста, как выделить допустим активную ячейку и через 1 от активной
Пробовал через [vba]
Код
range(ActiveCell.Offset(1, 0),ActiveCell.Offset(3, 0),ActiveCell.Offset(0, 6)).Select
[/vba]
но чет ошибку выдает.
Хотя через запись макроса можно сделаь в таком виде: [vba]
Код
Range("T15,Y17,AC15,AF17").Select
[/vba]Можете подсказать?

Автор - lFJl
Дата добавления - 29.01.2016 в 08:41
Roman777 Дата: Пятница, 29.01.2016, 09:35 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
lFJl, разница то большая) Ниже [vba]
Код
Range("T15,Y17,AC15,AF17").Select
[/vba] тут указаны диапазоны в виде строки, а выше нет.
Я бы использовал ф-ю Union.
[vba]
Код
Sub sel()
Dim rng As Range
Set rng = Union(ActiveCell.Offset(1, 0), ActiveCell.Offset(3, 0), ActiveCell.Offset(0, 6))
rng.Select
End Sub
[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Пятница, 29.01.2016, 09:36
 
Ответить
СообщениеlFJl, разница то большая) Ниже [vba]
Код
Range("T15,Y17,AC15,AF17").Select
[/vba] тут указаны диапазоны в виде строки, а выше нет.
Я бы использовал ф-ю Union.
[vba]
Код
Sub sel()
Dim rng As Range
Set rng = Union(ActiveCell.Offset(1, 0), ActiveCell.Offset(3, 0), ActiveCell.Offset(0, 6))
rng.Select
End Sub
[/vba]

Автор - Roman777
Дата добавления - 29.01.2016 в 09:35
lFJl Дата: Пятница, 29.01.2016, 10:11 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
О, спасибо!
Я как раз наткнулся на эту функцию, начал ее изучать! :)
 
Ответить
СообщениеО, спасибо!
Я как раз наткнулся на эту функцию, начал ее изучать! :)

Автор - lFJl
Дата добавления - 29.01.2016 в 10:11
Rioran Дата: Суббота, 30.01.2016, 03:51 | Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
lFJl, здравствуйте.

Ваш исходный вариант был почти рабочий. Если присмотреться как пишет макрорекодер и вспомнить про метод ".Address", то можно было бы придумать нечто вроде:

[vba]
Код
Range(Selection.Cells(1, 1).Address & "," & Selection.Cells(1, 1).Offset(2, 0).Address).Select
[/vba]

Где "Cells(1, 1)" - перестраховка на случай, если выделено несколько ячеек.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеlFJl, здравствуйте.

Ваш исходный вариант был почти рабочий. Если присмотреться как пишет макрорекодер и вспомнить про метод ".Address", то можно было бы придумать нечто вроде:

[vba]
Код
Range(Selection.Cells(1, 1).Address & "," & Selection.Cells(1, 1).Offset(2, 0).Address).Select
[/vba]

Где "Cells(1, 1)" - перестраховка на случай, если выделено несколько ячеек.

Автор - Rioran
Дата добавления - 30.01.2016 в 03:51
Michael_S Дата: Суббота, 30.01.2016, 10:52 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Где "Cells(1, 1)" - перестраховка на случай, если выделено несколько ячеек.
На этот случай есть Activecell (в общем случае с Selection.Cells(1,1) не совпадает)
 
Ответить
Сообщение
Где "Cells(1, 1)" - перестраховка на случай, если выделено несколько ячеек.
На этот случай есть Activecell (в общем случае с Selection.Cells(1,1) не совпадает)

Автор - Michael_S
Дата добавления - 30.01.2016 в 10:52
Wasilich Дата: Суббота, 30.01.2016, 12:02 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
выделить допустим активную ячейку и через 1 от активной
Так, что ли?
[vba]
Код
  C = Selection.Column
  R = Selection.Row
  Union(ActiveCell, Cells(R + 2, C), Cells(R, C + 2)).Select
[/vba]


Сообщение отредактировал Wasilic - Суббота, 30.01.2016, 12:03
 
Ответить
Сообщение
выделить допустим активную ячейку и через 1 от активной
Так, что ли?
[vba]
Код
  C = Selection.Column
  R = Selection.Row
  Union(ActiveCell, Cells(R + 2, C), Cells(R, C + 2)).Select
[/vba]

Автор - Wasilich
Дата добавления - 30.01.2016 в 12:02
Gustav Дата: Воскресенье, 31.01.2016, 02:04 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2695
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
C = Selection.Column
R = Selection.Row
Union(ActiveCell, Cells(R + 2, C), Cells(R, C + 2)).Select

Аналогично:
[vba]
Код
Range(Application.ConvertFormula("RC,R[2]C,RC[2]", xlR1C1, xlA1)).Select
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
C = Selection.Column
R = Selection.Row
Union(ActiveCell, Cells(R + 2, C), Cells(R, C + 2)).Select

Аналогично:
[vba]
Код
Range(Application.ConvertFormula("RC,R[2]C,RC[2]", xlR1C1, xlA1)).Select
[/vba]

Автор - Gustav
Дата добавления - 31.01.2016 в 02:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделить несколько ячеек/диапазонов одновременно (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!