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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2016, 10:29   #1
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию цикл по строкам

Товарищи, как продлить цикл по строкам.
Есть такой:

Код:
For i = 2 To 62 Step 2
        k = i + 1
        If Cells(i, 2) = "" Then
        ElseIf Cells(i, 2) <> Cells(k, 3) - Cells(k, 2) Then
        Cells(i, 2).Interior.Color = 5263615
        End If
        Next i
он пробегает мне один столбец до 62 строки. столбцов таких где то 40, шаг тоже 2. У меня в голове возникает, что то такое

Код:
For i = 2 To 62 Step 2
          For h = 2 To 40 Step 2

        k = i + 1
        If Cells(i, h) = "" Then
        ElseIf Cells(i, h) <> Cells(k, h) - Cells(k, h) Then
        Cells(i, h).Interior.Color = 5263615
        End If
        Next i 
Next h 'бред?
Но что то кажется он по диагонали пойдет или вообще не будет работать.
Я конечно нашел выход, это 40 циклов с разными данными
Вложения
Тип файла: xlsx пример.xlsx (9.5 Кб, 16 просмотров)

Последний раз редактировалось Morozeckiy; 29.09.2016 в 12:33.
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 11:07   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Morozeckiy Посмотреть сообщение
Но что то кажется он по диагонали пойдет или вообще не будет работать.
А попробовать и самому посмотреть как он пройдет с 2 до 40 столбца с шагом 2, потом перейдет на следующую строку и опять пойдет по столбцам?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.09.2016, 11:14   #3
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
А попробовать и самому посмотреть как он пройдет с 2 до 40 столбца с шагом 2, потом перейдет на следующую строку и опять пойдет по столбцам?
invalid Next
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 11:28   #4
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Мне приходит в голову добавить
h=i+2, но тогда я в первом столбце буду сверять данные из второго и т.д.
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 12:01   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Morozeckiy Посмотреть сообщение
invalid Next
верно. NEXT относится к ближайшему FOR

Код:
FOR I.....
   for h....
   next h
NEXT I
А может задание озвучишь? или оно "продлить цикл по строкам"?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.09.2016, 12:32   #6
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
верно. NEXT относится к ближайшему FOR

Код:
FOR I.....
   for h....
   next h
NEXT I
А может задание озвучишь? или оно "продлить цикл по строкам"?
Конечно, это что то вроде графика, надо проверить соответствие отработанных часов, с периодом.
есть список людей по столбцам, далее идут строки по отработанным дням. По одному человеку сверяю, но дальше придется увеличить код на 40 чел одни и тем же циклом, а так можно и сбиться в номере столбца.
1 сен 2
с 12 до 14
все упрощено до цифр() во вложении
Нужно пробежаться и сверить верен ли период отработанным часам.

Последний раз редактировалось Morozeckiy; 29.09.2016 в 12:34.
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 12:41   #7
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
верно. NEXT относится к ближайшему FOR

Код:
FOR I.....
   for h....
   next h
NEXT I
А может задание озвучишь? или оно "продлить цикл по строкам"?


Код:
 For i = 2 To 62 Step 2
                For h = 2 To 40 Step 2
                k = i + 1
                j = h + 1
                If Cells(i, h) <> Cells(k, j) - Cells(k, h) Then
                Cells(i, h).Interior.Color = 5263615
                Next h
            End If
        Next i
так выдает next withot for. Нужно условие между For?
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 12:42   #8
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
 For i = 2 To 62 Step 2
                For h = 2 To 40 Step 2
                    k = i + 1
                    j = h + 1
                    If Cells(i, h) <> Cells(k, j) - Cells(k, h) Then
                        Cells(i, h).Interior.Color = 5263615
                    End IF
                Next h
        Next i
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.09.2016, 12:52   #9
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Код:
 For i = 2 To 62 Step 2
                For h = 2 To 40 Step 2
                    k = i + 1
                    j = h + 1
                    If Cells(i, h) <> Cells(k, j) - Cells(k, h) Then
                        Cells(i, h).Interior.Color = 5263615
                    End IF
                Next h
        Next i
Благодарю, ща попробую
Morozeckiy вне форума Ответить с цитированием
Старый 29.09.2016, 12:57   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Cells(i, h) <> Cells(k, j) - Cells(k, h)
Что за условие, когда надо закрашивать ячейку?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
excel в delphi цикл по строкам 123456789igor Общие вопросы Delphi 7 02.01.2016 18:43
Написать коментарии к двум строкам строкам в программе на VBA Yurec2407 Помощь студентам 2 30.01.2015 12:54
написать программу которая вводит по строкам с квеатуры двумерные массивы и вычисляет сумму его элементов по строкам таня99 Паскаль, Turbo Pascal, PascalABC.NET 3 23.05.2012 20:23
Как реализовать цикл While по строкам. Borland Delphi. Fri Помощь студентам 0 14.11.2011 17:32
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34