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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 11:52   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Макрос, накоплений

Как, заменить на макрос, желтым?
Вложения
Тип файла: rar p1.rar (5.1 Кб, 32 просмотров)
valerij вне форума Ответить с цитированием
Старый 19.04.2009, 12:46   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    For i = 1 To 6
        Cells(5 * i + 1, 1).FormulaR1C1 = "=r[-1]c+r[-5]c"
    Next
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 19.04.2009, 15:24   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Как всегда, забыл добавить, извиняюсь, извиняюсь
Цикл должен начинаться с нуля.
А как мона без формул?
valerij вне форума Ответить с цитированием
Старый 19.04.2009, 22:18   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Да, Валера, совершенно не детский алгоритм... ничего, что цикл с 3-х начнется?
Код:
Sub zxc()
Cells(11, 1) = Cells(5, 1) + Cells(10, 1)
For d = 3 To 21
Cells(5 * d + 1, 1) = Cells(5 * d - 4, 1) + Cells(5 * d, 1)
Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.04.2009, 22:43   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
что цикл с 3-х начнется?
Нужно с нуля, ибо у меня уже есть цикл он с нуля
Код:
For dat = 0 To 30 '31 день месяца
и менять его нельзя.
Код:
Sub zxc()
Cells(11, 1) = Cells(5, 1) + Cells(10, 1)
For d = 0 To 21
Cells(5 * (d + 3) + 1, 1) = Cells(5 * (d + 3) - 4, 1) + Cells(5 * (d + 3), 1)
Next
End Sub
Собственно я хотел проверить(мучили сомнения), прав ли я, у меня конечно этот алгоритм решен, даже проще, чем у Игорей, я просто пропускаю первый день месяца
Код:
If dat <> 0 Then 'Пропуск первого числа, месяца
Cells(dat * 54 + 45, 10) = Cells(dat * 54 + 44, 10) + _
                Cells(dat * 54 - 9, 10) 'Накопление доставки

Последний раз редактировалось valerij; 19.04.2009 в 23:07.
valerij вне форума Ответить с цитированием
Старый 20.04.2009, 09:27   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

однако...
Код:
Sub zxc()
  For d = 0 To 31
    if d>2 then Cells(5 * d + 1, 1) = Cells(5 * d - 4, 1) + Cells(5 * d, 1)
    if d=2 then Cells(11, 1) = Cells(5, 1) + Cells(10, 1)
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.04.2009, 23:09   #7
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
однако...
однако, упростим.....
Код:
Sub zxc()
Cells(11, 1) = Cells(5, 1) + Cells(10, 1)
  For d = 0 To 31
    If d > 2 Then Cells(5 * d + 1, 1) = Cells(5 * d - 4, 1) + Cells(5 * d, 1)
  Next
End Sub
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. Ples Microsoft Office Excel 8 17.12.2016 18:15
макрос Demonmov Microsoft Office Excel 19 29.01.2009 16:19
Макрос в Excel Dartchuwak Microsoft Office Excel 1 11.01.2009 21:50
Макрос kot_842003 Microsoft Office Excel 2 26.12.2008 05:24
Макрос Мингиян Microsoft Office Access 1 24.01.2008 21:54