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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2014, 17:22   #1
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию как создать цикл с условием

Здравствуйте, уже мозги кипят не могу решить задачу в Exel. Задача стоит следующим образом есть столбец с вводимыми вручную цифрами (к примеру это 900 900 900 900 1000 1000 1000 1000 1100 1100 1100 1100 (всего ячеек с цифрами будет не более 20, но последние могут быть и нулевыми)) нужно сделать что бы осуществлялся пересчет с условием. Цикл вижу примерно таким если а+б<6000, то суммируем дальше, если а+б+ц<6000, то суммируем дальше, если же а+б+ц>=то останавливаем цикл и запускаем новый начиная с "ц" опять же проверяя что бы сумма не превышала 6000. и так дальше. В результате должен выдаваться результат сколько произведено циклов и какое число сталось при конечном расчете (6000-сумма в последнем цикле). Подскажите пожалуйста как такое реализовать в Exel?
leones911 вне форума Ответить с цитированием
Старый 14.01.2014, 00:11   #2
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Как то так:
Код:
Sub v()
    Dim SUM, tSUM, n
    
    For r = 1 To 20
        tSUM = SUM + Cells(r, столбец_с_вводимыми_вручную_цифрами.номер)
        If tSUM < 6000 Then
            SUM = tSUM
        Else
            SUM = Cells(r, столбец_с_вводимыми_вручную_цифрами.номер)
            n = n + 1
        End If
    Next
    MsgBox "Кол-во полных циклов:" & vbTab & n & vbNewLine & _
           "Оставшееся число:" & vbTab & vbTab & (6000-SUM)
End Sub

Последний раз редактировалось maksim_serg; 14.01.2014 в 00:20.
maksim_serg вне форума Ответить с цитированием
Старый 14.01.2014, 01:06   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или так
Код:
Sub v()
    Dim SUM, n, c
    c = 2 ' сюда напишите № столбца с Вашими данными
    For r = 1 To 20
        SUM = SUM + Cells(r, c)
        do while SUM >= 6000
            n = n+1
            SUM = SUM-6000
        loop
    Next
    MsgBox "Кол-во полных циклов:" & vbTab & n & vbNewLine & _
           "Оставшееся число:" & vbTab & vbTab & SUM
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.01.2014, 10:41   #4
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию

Большое спасибо
leones911 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать цикл??? AlexeyR23 Паскаль, Turbo Pascal, PascalABC.NET 4 14.11.2011 22:47
цикл с условием Диас_ Помощь студентам 2 27.06.2011 09:52
как создать цикл Vladuk Microsoft Office Excel 6 20.12.2010 23:26
Как создать цикл в с++ ? ShaDem Помощь студентам 2 03.10.2010 23:19
как создать раскрывающийся список с условием _Set_ Microsoft Office Excel 2 20.01.2010 17:50