|
|
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Есть две даты, например 12-Янв-2005 и 25-Июн-2005. Подскажите можно ли составить формулу, чтобы в первой ячейке показывало сколько месяцев, а во второй сколько дней между этими датами включая начальную и конечную дату. Пример: А1=12-Янв-2005 А2=25-Июн-2005 Всего дней между ними 193 Должно быть: В1=6 (означает месяцев) В2=13 (означает дней) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2005, 21:34:12 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
DateDiff("m",A1,A2) DateDiff("d",A1,A2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2005, 22:57:07 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Не знаю почему, но эта формула почему то не работает, ее нет даже в списке функций, выдает сообщение, что формула содержит ошибку??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 11:30:53 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 11:44:58 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
SuleymanНе знаю почему, но эта формула почему то не работает, ее нет даже в списке функций, выдает сообщение, что формула содержит ошибку??? И в бэйсике, и в VBA эта функция нормально работает. См. примеры в MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 12:26:58 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Вообще-то между 12-Янв-2005 и 25-Июн-2005 163 дня. На месяц ошибся. Лови процедуру. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Запускаешь так. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 15:03:01 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Прошу прщения, но сам я доделать макрос не смогу. Просто я думал есть функция которую можно исп-ть как любую другую прямо на листе, оказалось не много сложнее. Если макрос, то мне нужно что бы он срабатывал при открытии листа. Есть дата в ячейке В5 - это конечная дата, и есть столбик диапазоном J10-J28 с более ранними датами, (промежуток между В5 и каждой из этих ячеек и есть цель которуюю ищем) и после открытия листа в столбцах L и M диапазоном от 10 до 28 соотв-но должны выставляться месяца (L10-L28) и дни (M10-M28). И все тоже самое, только деленное на 3 в столбцах N и O диапазоном от 10 до 28. Вот и все. Заранее спасибо если кто то возмется помочь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 22:36:04 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Стандартный модуль. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Модуль книги. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 09:20:19 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо! все работает отлично. Последняя просьба, сразу не подумал, можно ли сделать так что бы макрос срабатывал не при открытии книги,а при изменении данных ячейки В5. Просто по связям с этого листа данные уходят в другие книги, а при закрытии листа данные не меняются пока его не откроешь. А когда открываешь те связанные книги - там старые данные. А так все супер! Реально спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 16:22:43 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Вынеси процедуру, которая стоит на Workbook_Open() в стандартный модуль, например с именем CreateDaysAndMonths. В модуле листа запиши: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 17:35:06 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Не знаю, может я туплю, вроде делаю все так, добавляю к первому стандартному модую то что было в модуле листа. Первая строка нового - Sub CreateDaysAndMonths(), остальное как понимаю не должен менять. Добавляю в модуль листа - Private Sub Worksheet_Change (ByVal Target As Range), жму на нем F5, но выпадает окно и нужно выбрать этот новый CreateDaysAndMonths и потом нажать Выполнить. А нельзя сделать, что бы автоматически при изменении данных в В5 запускался макрос? Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 21:18:38 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Все уже автоматически. Стандартный модуль (Module1). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Модуль листа (Лист1). Код: plaintext 1. 2. 3. 4. Модуль книги (ЭтаКнига). Код: plaintext 1. 2. Меняешь дату в ячейке "B5" и все значения обновляются и не надо самому F5 нажимать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 08:28:56 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Большое спасибо, все работает. Последняя проблемка всплыла. Нужно что бы все числа округлялись до целых. Пробовал через формат ячеек, да показывает то что нужно, но в документах куда они идут по связям, эти числа описываются другим макросом. А если число не целое, тот макрос их не видит Вот тот макрос: Private Sub Workbook_Open() Dim intI As Integer Dim rng As Range Dim cel As Range For intI = 2 To 20 With Worksheets(intI) Set rng = Worksheets(intI).Range("G40, G42") For Each cel In rng Select Case cel.Value Case 0 cel.Offset(0, 1).Value = "(Ноль/Nil)" Case 1 cel.Offset(0, 1).Value = "(Один/One)" Case 2 cel.Offset(0, 1).Value = "(Два/Two)" Case 3 cel.Offset(0, 1).Value = "(Три/Three)" Case 4 cel.Offset(0, 1).Value = "(Четыре/Four)" Case 5 cel.Offset(0, 1).Value = "(Пять/Five)" Case 6 cel.Offset(0, 1).Value = "(Шесть/Six)" Case 7 cel.Offset(0, 1).Value = "(Семь/Seven)" Case 8 cel.Offset(0, 1).Value = "(Восемь/Eight)" Case 9 cel.Offset(0, 1).Value = "(Девять/Nine)" Case 10 cel.Offset(0, 1).Value = "(Десять/Ten)" Case 11 cel.Offset(0, 1).Value = "(Одинадцать/Eleven)" Case 12 cel.Offset(0, 1).Value = "(Двенадцать/Twelve)" Case 13 cel.Offset(0, 1).Value = "(Тринадцать/Thirteen)" Case 14 cel.Offset(0, 1).Value = "(Четырнадцать/Fourteen)" Case 15 cel.Offset(0, 1).Value = "(Пятнадцать/Fifteen)" Case 16 cel.Offset(0, 1).Value = "(Шестнадцать/Sixteen)" Case 17 cel.Offset(0, 1).Value = "(Семнадцать/Seventeen)" Case 18 cel.Offset(0, 1).Value = "(Восемнадцать/Eighteen)" Case 19 cel.Offset(0, 1).Value = "(Девятнадцать/Nineteen)" Case 20 cel.Offset(0, 1).Value = "(Двадцать/Twenty)" Case 21 cel.Offset(0, 1).Value = "(Двадцать один/Twenty one)" Case 22 cel.Offset(0, 1).Value = "(Двадцать два/Twenty two)" Case 23 cel.Offset(0, 1).Value = "(Двадцать три/Twenty three)" Case 24 cel.Offset(0, 1).Value = "(Двадцать четыре/Twenty four)" Case 25 cel.Offset(0, 1).Value = "(Двадцать пять/Twenty five)" Case 26 cel.Offset(0, 1).Value = "(Двадцать шесть/Twenty six)" Case 27 cel.Offset(0, 1).Value = "(Двадцать семь/Twenty seven)" Case 28 cel.Offset(0, 1).Value = "(Двадцать восемь/Twenty eight)" Case 29 cel.Offset(0, 1).Value = "(Двадцать девять/Twenty nine)" Case 30 cel.Offset(0, 1).Value = "(Тридцать/Thirty)" Case 31 cel.Offset(0, 1).Value = "(Тридцать один/Thirty one)" End Select Next cel End With Next intI End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 12:39:01 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 13:01:40 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста переделать макрос. Нужно что бы работал с 1-го по 20-й листы, Данные сравнивать между ячейками В27 и Н27, а вставлять на каждом листе: in month - ячейка А40 in days - ячейка G40 in month/3 - ячейка А42 in days/3 - ячейка G42 Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 19:10:30 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Попробуй так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 09:24:57 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Спасибо, все работает отлично, но блин новая проблемка появилась. В третьей и четвертой ячейке данные должны показывать реально третью часть кол-ва дней от их общего кол-ва. На пример если первая дата 16-мар-2005, а последняя 1-сен-2005, то макрос считает в первую яч.-5 (мес.), во вторую яч.-16 (дней) в третью -2(мес.) и в четвертую -5 (дней). Ошибка появляется в 3-ей и 4-ой ячейках. Потому что долно быть: 1 (мес) и 25 (дней) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:29:48 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Сделай так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 09:26:44 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Спасибо, все работает отлично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 14:06:37 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 14:28:11 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Я прошу прощения, наверное задолбал уже своими поправками, последняя просьба, реально последняя: можно ли сделать этот макрос только для работы только на листах "Master", "Office", и "Deck". Просто в этой книге появилось куча других листов, и он на них тоже пытается считать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 20:16:45 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
SuleymanЯ прошу прощения, наверное задолбал уже своими поправками, последняя просьба, реально последняя. :) Переделай процедуру следующим образом. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 09:05:03 |
|
||
|
Кол-во дней между датами в двух ячейках, в месяцах и днях
|
|||
|---|---|---|---|
|
#18+
Большое спасибо! наконец то все заработало как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 16:36:14 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33280236&tid=2167077]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 324ms |

| 0 / 0 |
