Простая задача

Программирование на Visual Basic for Applications
Липа
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 23.04.2006 (Вс) 12:52

Простая задача

Сообщение Липа » 23.04.2006 (Вс) 13:02

В VB начала недавно работать, вернее учится. Начинаю с простейших задач но тут же возникают всякие вопросы.
Например сделала простейшую задачу, в таблице одна строчка закрашивается цветом, другая остается белая. Потом сделала так что две закрашиваются одна белая, теперь хочу чтоб две были белыми одна закрашивалась, никак не получается. помогите понять логику, что нужно изменить в макросе:

Sub Зебра()
Dim myRange As Range
Dim arow As Range
Set myRange = Application.Selection
n = 1
For Each arow In myRange.Rows
If (n Mod 2) <> 0 Then
arow.Interior.ColorIndex = 1
End If
n = n + 1

Next
End Sub


Буду обень благодарна за разъяснения.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 23.04.2006 (Вс) 14:49

Код: Выделить всё
Sub Зебра()
Dim myRange As Range
Dim arow As Range

Set myRange = Application.Selection 'Находишь свое выделение
n = 1
For Each arow In myRange.Rows 'Перебираешь строки

If (n Mod 2) <> 0 Then ' Тут проверка на четность
arow.Interior.ColorIndex = 1 'Закраска вроде
End If
n = n + 1
Next
End Sub


Код: Выделить всё
Sub Зебра()
Dim myRange As Range
Dim arow As Range

Set myRange = Application.Selection 'Находишь свое выделение
n = 1
For Each arow In myRange.Rows 'Перебираешь строки

If (n Mod 3) = 0 Then ' Тут проверка на деление на 3 делится-красим
arow.Interior.ColorIndex = 1 'Закраска вроде
End If
n = n + 1
Next
End Sub


Вобщем то и всё, если я правильно понял твой первый код (на VBA не писал). Код не проверял, но если тот прошлый красит каждую вторую строку, то этот должен каждую третью красить. Установкой стартового n можно подвигать какие строки будут закрашиваться.

Липа
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 23.04.2006 (Вс) 12:52

Сообщение Липа » 23.04.2006 (Вс) 18:09

о спасибо все получыилось. а почему вместо <> ставим = ?

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 23.04.2006 (Вс) 23:53

В прошлом варианте была проверка на "не делится" в этом на "делится". Даже если в первом варианте поставить "=" ничего принципиально не изменится.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 21

    TopList