powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / программирование на VBA
15 сообщений из 15, страница 1 из 1
программирование на VBA
    #36350943
K_Aida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите, плиз, как написать макрос, который выделял бы отдельные стоки.

То есть, вот в excel я нажимаю ctrl и удерживая клавишу, мышкой выделяю отдельные строки.

Вот как сдлелать ,чтобы тоже самое делал макрос.
...
Рейтинг: 0 / 0
программирование на VBA
    #36350968
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Aidaкак написать макрос

Сервис -> Макрос -> Начать запись

Далее делаете все, что нужно записать, нажимаете "стоп", смотрите, что получилось.
...
Рейтинг: 0 / 0
программирование на VBA
    #36350996
K_Aida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
)
это и так понятно.
но именно отдельные строки в цикле мне нужны.
То есть вообще выделение идет так: Range("A11:AP11","A17:AP17", и т д). А вот как в цикле организовать?
...
Рейтинг: 0 / 0
программирование на VBA
    #36351017
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Aida,

У меня методом десятиминутного тыка получилось сделать вот так:
Код: plaintext
Range(Selection.Address+", E4").Select

Впрочем, я не очень силен в объектной модели Экселя, потом старшие товарищи меня поправят.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351087
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Aida, а зачем их выделять? если что делать с выделеными строками - то может можно будет обойтись без выделения? если для визуального обозначения некоторых строк - может лучше цветом из выделять?
...
Рейтинг: 0 / 0
программирование на VBA
    #36351095
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
' выделение строк в цикле
For rowcnt = 1 To 17
Range("A" + Trim(Str(rowcnt)) + ":AP" + Trim(Str(rowcnt))).Select

Next rowcnt
...
Рейтинг: 0 / 0
программирование на VBA
    #36351627
K_Aida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
denis_viktorovich,

Дело в том, что мне нужно, чтобы макрос одновременно выделял отдельные строки.

Пример: выделить только те строки, где в колонке "A" встречается слово "Привет".
На рисунке показано.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351647
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_AidaДело в том, что мне нужно, чтобы макрос одновременно выделял отдельные строки.


Мой вариант не подошел?
...
Рейтинг: 0 / 0
программирование на VBA
    #36351710
K_Aida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProK_AidaДело в том, что мне нужно, чтобы макрос одновременно выделял отдельные строки.


Мой вариант не подошел?


Вы сделали всё правильно , спасибо, но так как мне надо сделать в цикле, то я и не знаю как правильно запоминать значение и увеличивать на определенное количество строк, ну то есть в вашем примере, это E4. Вместо E4 мне нужно запоминать значение предыдущее, и уже вписывать его, а как я не знаю.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351733
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_AidaВы сделали всё правильно , спасибо, но так как мне надо сделать в цикле, то я и не знаю как правильно запоминать значение и увеличивать на определенное количество строк, ну то есть в вашем примере, это E4. Вместо E4 мне нужно запоминать значение предыдущее, и уже вписывать его, а как я не знаю.

Так предыдущее - это и есть Selection.Address
То есть вместо Е4 вам нужно вписать координаты новой строки, которую вы хотите добавить к выделению.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351790
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имхо должно получиться - пройти в цикле for each весь лист (или нужный столбец), номера нужных строк запомнить в массив, затем сформировать строку из этих данных, подставить строку вместо E4, вместо Selection.Address первый элемент массива.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351827
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Имхо должно получиться - пройти в цикле for each весь лист (или нужный столбец), номера нужных строк запомнить в массив, затем сформировать строку из этих данных, подставить строку вместо E4, вместо Selection.Address первый элемент массива.

Тогда нет смысла морочиться с первым элементом массива, достаточно просто Range(...).Select
...
Рейтинг: 0 / 0
программирование на VBA
    #36351856
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но всё равно непонятно, зачем такие извращения с выделениями :) - чтобы покрасить/скопировать/удалить выделять все строки одновременно не надо, можно пройтись по строкам в цикле и обработать по одной.
...
Рейтинг: 0 / 0
программирование на VBA
    #36351868
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Но всё равно непонятно, зачем такие извращения с выделениями :) - чтобы покрасить/скопировать/удалить выделять все строки одновременно не надо, можно пройтись по строкам в цикле и обработать по одной.

Ну, например, предоставить само действие на выбор пользователя. Мол, хочешь - крась, хочешь - вообще удали
...
Рейтинг: 0 / 0
программирование на VBA
    #36352071
K_Aida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо большое! У меня получилось :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / программирование на VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]