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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2012, 10:30   #1
Тандер
Пользователь
 
Регистрация: 03.01.2012
Сообщений: 58
По умолчанию Как выделить макросом ячейки?

Как на скриншоте. Буду очень признателен, если подскажете как выделить (Select) каждую ячейку через две, скажем, до 5000-ой строки.
Изображения
Тип файла: jpg PR.JPG (36.3 Кб, 103 просмотров)
Тандер вне форума Ответить с цитированием
Старый 17.07.2012, 11:00   #2
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

а что вам в конечном счете нужно? возможно вам не надо выделять эти ячейки/строки все вместе, а с каждой по отдельности последовательно проделать все операции??
Bape}l{ka вне форума Ответить с цитированием
Старый 17.07.2012, 11:02   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

абсолютно непонятно, зачем Вам это нужно! (Bape}l{ka, +1
Комментарий: Выделение ячеек используется только для наглядности, в действительности же, реальная необходимость в активации и выделении, возникает весьма редко.


но ловите
Код:
Sub Sel2()
  Dim i As Long, x As Range
  Set x = Range("1:1")

  For i = 4 To 5000 Step 3
     Set x = Union(x, Rows(i))
  Next i
  x.Select
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.07.2012, 11:13   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Set myRng = Range("1:1")
I = 1
While I <= 5000
  Set myRng = Union(myRng, Rows(I))
  I = I + 3
Wend
myRng.Select
например, так
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 17.07.2012, 11:19   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Можно сделать это и одной строкой кода, используя дополнительную функцию:
http://excelvba.ru/code/repeatrange
Код:
Sub Пример1()
    RepeatRange(Rows(1), 5000/4, 4, xlDown).Select
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 17.07.2012, 11:19   #6
Тандер
Пользователь
 
Регистрация: 03.01.2012
Сообщений: 58
По умолчанию

Спасибо, сейчас проверю. Выделение нужно для того, чтобы копировать (вырезать) данные, так как они идут через каждые две строки.
Тандер вне форума Ответить с цитированием
Старый 17.07.2012, 11:35   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Выделение нужно для того, чтобы копировать (вырезать) данные, так как они идут через каждые две строки.
для этого совсем не нужно их выделять

Код:
myRng.copy Sheets("Название листа куда копировать").Cells(1,1)
вместо

Код:
myRng.Select
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 17.07.2012 в 11:44.
DiemonStar вне форума Ответить с цитированием
Старый 17.07.2012, 11:50   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Чтобы копировать (вырезать) данные - выделение не нужно. Оно только тормозит процесс.
Это Union/выделение отрабатывает за 6 секунд - а скопировать такое количество данных например через массив заняло бы доли секунды.
Конечно если нужны именно данные, а не форматы/заливка.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 17.07.2012 в 11:56.
Hugo121 вне форума Ответить с цитированием
Старый 17.07.2012, 12:59   #9
Тандер
Пользователь
 
Регистрация: 03.01.2012
Сообщений: 58
По умолчанию

Всем огромное спасибо!
Тандер вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как выделить столбцы макросом kartol Microsoft Office Excel 11 16.06.2012 17:05
Как макросом определить RC адреса верхней левой и нижней правой ячейки roborrr Microsoft Office Excel 5 23.04.2011 00:24
как выделить ячейки в БД grafgrial БД в Delphi 2 26.06.2010 09:49
Как макросом заменить пустые ячейки словом "пусто" KOSTIK1 Microsoft Office Excel 2 19.12.2009 14:10
Как копировать URL адрес из ячейки в другую ячейку (макросом). AlexDoom Помощь студентам 1 09.03.2009 10:59