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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2012, 13:19   #1
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию Редактирование каждой второй строки

Добрый день!

Пишу макрос. Хочу серым шрифтом выделить каждую вторую строк.

Застопорился, как в цикле For организовать шаг 2, а не 1?

В дельфе легко i=i+1
Тут же просто Next...
Questru вне форума Ответить с цитированием
Старый 02.07.2012, 13:30   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
For I = 1 to Count Step 2
  ...
Next I
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.07.2012, 13:36   #3
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Код:
For I = 1 to Count Step 2
  ...
Next I
Спасибо!
А куда теперь воткнуть "k"

For i = 3 To k Count Step 2
Так не пашет =)
Questru вне форума Ответить с цитированием
Старый 02.07.2012, 13:44   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

либо ... To Count ...
либо ... To k ...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.07.2012, 13:48   #5
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
либо ... To Count ...
либо ... To k ...
а как же тогда ограничить выполнение цикла?

Может устроить проверку на четность i внутри цикла for?
Questru вне форума Ответить с цитированием
Старый 02.07.2012, 13:51   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

В данном коде по Next происходит не I = I + 1, а I = I + 2. Т.е. обычный цикл , но дописывается Step и число, определяющее шаг цикла.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.07.2012, 13:55   #7
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
В данном коде по Next происходит не I = I + 1, а I = I + 2. Т.е. обычный цикл , но дописывается Step и число, определяющее шаг цикла.
Это я понял

Только у меня, например, всего 579 строк. Зачем мне раскрашивть все строки в файле? Я хочу только таблицу разрисовать.
Questru вне форума Ответить с цитированием
Старый 02.07.2012, 15:25   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

однако....
for i = 3 to 579 step 2
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.07.2012, 15:29   #9
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Я хочу только таблицу разрисовать.
можно как-то так сделать:
Код:
Sub a()
With ActiveSheet
  For n = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 2
    .Cells(n, 1).EntireRow.Range("A1:E1").Interior.Color = 255
  Next
End With
End Sub
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.07.2012, 15:36   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Чтобы работало быстрее, советую использовать этот способ:
http://excelvba.ru/code/repeatrange
EducatedFool вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод каждой второй строки из мемо ВалекFCRK Общие вопросы Delphi 2 15.06.2012 20:49
Составить матрицу, элементы первой строки равны максимальному элементу; а второй строки - номеру (Делфи) Markss Помощь студентам 1 30.05.2011 23:15
Удаление отступов в последней ячейке каждой строки в каждой таблице Busine2009 Microsoft Office Word 7 06.06.2009 12:27
Редактирование каждой строки V@mpir Общие вопросы Delphi 4 20.05.2009 23:28
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30