Автоматизирование действий по датам
Olgatarasova
Дата: Пятница, 14.03.2014, 20:22 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Доброго времени суток, форумчане! Помогите с догадками, куда копать? Задача: Имеется некое наименование товара, дата заказа и дата его прибытия на склад (не наступившая). Возможно ли прописать такой макрос, который бы по наступлении даты прибытия (основываясь на системном времени, допустим) суммировал прибытое количество с уже имеющимся? Есть, конечно, и другие вопросы, однако они будут логичны после утвердительного ответа) Пример, под шапкой..
Доброго времени суток, форумчане! Помогите с догадками, куда копать? Задача: Имеется некое наименование товара, дата заказа и дата его прибытия на склад (не наступившая). Возможно ли прописать такой макрос, который бы по наступлении даты прибытия (основываясь на системном времени, допустим) суммировал прибытое количество с уже имеющимся? Есть, конечно, и другие вопросы, однако они будут логичны после утвердительного ответа) Пример, под шапкой.. Olgatarasova
Ответить
Сообщение Доброго времени суток, форумчане! Помогите с догадками, куда копать? Задача: Имеется некое наименование товара, дата заказа и дата его прибытия на склад (не наступившая). Возможно ли прописать такой макрос, который бы по наступлении даты прибытия (основываясь на системном времени, допустим) суммировал прибытое количество с уже имеющимся? Есть, конечно, и другие вопросы, однако они будут логичны после утвердительного ответа) Пример, под шапкой.. Автор - Olgatarasova Дата добавления - 14.03.2014 в 20:22
Wasilich
Дата: Пятница, 14.03.2014, 22:57 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
При открытии книги, пойдет? [vba]Код
Sub Auto_open() If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If End Sub
[/vba]
При открытии книги, пойдет? [vba]Код
Sub Auto_open() If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If End Sub
[/vba] Wasilich
Ответить
Сообщение При открытии книги, пойдет? [vba]Код
Sub Auto_open() If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If End Sub
[/vba] Автор - Wasilich Дата добавления - 14.03.2014 в 22:57
Olgatarasova
Дата: Суббота, 15.03.2014, 10:22 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Спасибо Wasilic, теперь есть от чего отталкиваться! Вместо ячеек будет массив, диалоговое окно для подтверждения прибытия и откладчик действий. Ну Это уже тонкости! Жму руку!
Спасибо Wasilic, теперь есть от чего отталкиваться! Вместо ячеек будет массив, диалоговое окно для подтверждения прибытия и откладчик действий. Ну Это уже тонкости! Жму руку! Olgatarasova
Ответить
Сообщение Спасибо Wasilic, теперь есть от чего отталкиваться! Вместо ячеек будет массив, диалоговое окно для подтверждения прибытия и откладчик действий. Ну Это уже тонкости! Жму руку! Автор - Olgatarasova Дата добавления - 15.03.2014 в 10:22
Olgatarasova
Дата: Воскресенье, 16.03.2014, 12:06 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Wasilic, а как сделать подобное с массивом? ( Т.е. были бы другие позиции допустим.)?
Wasilic, а как сделать подобное с массивом? ( Т.е. были бы другие позиции допустим.)? Olgatarasova
Ответить
Сообщение Wasilic, а как сделать подобное с массивом? ( Т.е. были бы другие позиции допустим.)? Автор - Olgatarasova Дата добавления - 16.03.2014 в 12:06
Wasilich
Дата: Воскресенье, 16.03.2014, 15:30 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Стало быть рано радовалась! А как же?Слишком тонкие? Надо делать цикл. [vba]Код
Sub Auto_open() Dim i& For i=2 to Range("A" & Rows.Count).End(xlUp).Row If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If Next End Sub
[/vba]
Стало быть рано радовалась! А как же?Слишком тонкие? Надо делать цикл. [vba]Код
Sub Auto_open() Dim i& For i=2 to Range("A" & Rows.Count).End(xlUp).Row If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If Next End Sub
[/vba] Wasilich
Сообщение отредактировал Wasilic - Воскресенье, 16.03.2014, 18:17
Ответить
Сообщение Стало быть рано радовалась! А как же?Слишком тонкие? Надо делать цикл. [vba]Код
Sub Auto_open() Dim i& For i=2 to Range("A" & Rows.Count).End(xlUp).Row If Cells(2, 5) = Date Then Cells(2, 2) = Cells(2, 2) + Cells(2, 3) Cells(2, 3) = 0 End If Next End Sub
[/vba] Автор - Wasilich Дата добавления - 16.03.2014 в 15:30
Olgatarasova
Дата: Воскресенье, 16.03.2014, 16:56 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Wasilic, Стало быть рано радовалась!
Как оказалось да! Теория хромает! Почему ругается на i? Проблема решена, подсказали с разъяснением для таких чайников, как я [vba]Код
Sub Кнопка2_Щелчок() 'Запускаем цикл '1. объявить переменные Dim Строка As Integer Dim КоличествоСтрок As Integer '2. Определить количество строк в диапазоне КоличествоСтрок = Application.CountA(Range(Cells(2, 2), Cells(32000, 2))) + 1 Строка = 2 'В диапазоне от 2-ой до последней строк выполнять такие простые действия: For Строка = 2 To КоличествоСтрок 'Простые действия, только номер строки забитый руками меняем на заданный циклом: If Cells(Строка, 5) = Date Then Cells(Строка, 2) = Cells(Строка, 2) + Cells(Строка, 3) Cells(Строка, 3) = Empty End If '3. И так по кругу, пока не проработан весь диапазон Next Строка End Sub
[/vba]
Wasilic, Стало быть рано радовалась!
Как оказалось да! Теория хромает! Почему ругается на i? Проблема решена, подсказали с разъяснением для таких чайников, как я [vba]Код
Sub Кнопка2_Щелчок() 'Запускаем цикл '1. объявить переменные Dim Строка As Integer Dim КоличествоСтрок As Integer '2. Определить количество строк в диапазоне КоличествоСтрок = Application.CountA(Range(Cells(2, 2), Cells(32000, 2))) + 1 Строка = 2 'В диапазоне от 2-ой до последней строк выполнять такие простые действия: For Строка = 2 To КоличествоСтрок 'Простые действия, только номер строки забитый руками меняем на заданный циклом: If Cells(Строка, 5) = Date Then Cells(Строка, 2) = Cells(Строка, 2) + Cells(Строка, 3) Cells(Строка, 3) = Empty End If '3. И так по кругу, пока не проработан весь диапазон Next Строка End Sub
[/vba] Olgatarasova
Сообщение отредактировал Olgatarasova - Воскресенье, 16.03.2014, 17:49
Ответить
Сообщение Wasilic, Стало быть рано радовалась!
Как оказалось да! Теория хромает! Почему ругается на i? Проблема решена, подсказали с разъяснением для таких чайников, как я [vba]Код
Sub Кнопка2_Щелчок() 'Запускаем цикл '1. объявить переменные Dim Строка As Integer Dim КоличествоСтрок As Integer '2. Определить количество строк в диапазоне КоличествоСтрок = Application.CountA(Range(Cells(2, 2), Cells(32000, 2))) + 1 Строка = 2 'В диапазоне от 2-ой до последней строк выполнять такие простые действия: For Строка = 2 To КоличествоСтрок 'Простые действия, только номер строки забитый руками меняем на заданный циклом: If Cells(Строка, 5) = Date Then Cells(Строка, 2) = Cells(Строка, 2) + Cells(Строка, 3) Cells(Строка, 3) = Empty End If '3. И так по кругу, пока не проработан весь диапазон Next Строка End Sub
[/vba] Автор - Olgatarasova Дата добавления - 16.03.2014 в 16:56
Wasilich
Дата: Воскресенье, 16.03.2014, 18:19 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Тонкости виноваты! Вот и не объявил i. Исправился выше.
Тонкости виноваты! Вот и не объявил i. Исправился выше. Wasilich
Ответить
Сообщение Тонкости виноваты! Вот и не объявил i. Исправился выше. Автор - Wasilich Дата добавления - 16.03.2014 в 18:19