Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Excel 2007 VBA Здравствуйте. При определение месяца в условии, выполняется код, начиная с точки отчета a1 (выполняется 12 кодов на каждый месяц), но если выбран февраль, то начиная с точки отчета, выполняются 11 месяцев (позиция 2) происходит сдвиг и а12 выполняется в пустую. Как сделать или создать условие, чтобы выполнялись те позиции которые выпадают на месяца. Код: 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 09:24 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segail, Как я понимаю, это образец, а что реально представляет из себя нужный код? Возможно проще доработать этот код так, чтобы он работал с параметром. В общем, обрисуйте задачу чуть подробнее, возможно удастся сделать проще, чем вы предполагаете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 11:37 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, подождём ответа автора, хотел спросить почти в тему, имеем: а="сс" If ..... Then GoTo a ...... ...... ...... сс: 'насколько я знаю, такой конструкцией нельзя пользоваться, не скажете почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 11:51 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрю 'насколько я знаю, такой конструкцией нельзя пользоваться, не скажете почему? А почему вместо "Ципихович" нельзя написать "Цепехович"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 11:58 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segail, В принципе, если есть 12 абсолютно разных процедур, никак не похожих друг на друга можно поступить примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:07 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Если очень хочется то можно, опять же с условием: f=..... w=.... If f=w Then "Цепехович"="Ципихович" А если серьёзно, то я понял, что ответа который мне будет понятен я не получу. Спросим по другому, Ваше мнение конструкция вида: а="сс" If ..... Then GoTo a ...... ...... ...... сс: Имеет право на существование? Может иметь практическое для программиста? Я считаю что да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:10 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
А в этом столбике: Cat Dog Table Chair Water Book Tea Printer Cassete Lamp Glass Door Это для примера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:14 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Думал на форуме нет не кого, временно отключался.. Вот код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:15 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailВот код м-да, кривовато как-то... ну да чтоб голову вам не морочить - воспользуйтесь моим примером с Case ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:28 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Боле подробно чтобы Вы поняли. 12 строк кода на двенадцать месяцев. Если, например, по условию выпадает февраль, то первая строка выполняет код февраля, естественно остальные строки выпадают на месяца после февраля, значит 12-я строка выполняет пустое действие, в данном случае необходимо блокировать или запретить выполнение кода 12-ой строки, ну и так далее… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:35 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, Боле подробно чтобы Вы поняли. 12 строк кода на двенадцать месяцев. Если, например, по условию выпадает февраль, то первая строка выполняет код февраля, естественно остальные строки выпадают на месяца после февраля, значит 12-я строка выполняет пустое действие, в данном случае необходимо блокировать или запретить выполнение кода 12-ой строки, ну и так далее… ну так я же привел код. Запускаете цикл от 2 до 12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:38 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Лады попробую. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 12:41 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюСпросим по другому, Ваше мнение конструкция вида: а="сс" If ..... Then GoTo a ...... ...... ...... сс: Имеет право на существование? Может иметь практическое для программиста? Я считаю что да Может иметь. В принципе, это можно в VB6... точнее, не совсем это, а вызов процедуры по указателю в виде переменной... но кажется этот способ недокументирован, кажется его когда-то давно приводил Antonariy... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 15:17 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
может Antonariy напомнит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 15:22 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProsegailВот код м-да, кривовато как-то... Как я понимаю, у вас на листе есть что-то типа календаря, поэтому расстояние в ячейках между двумя месяцами неравномерно и зависит от количества дней. Если делать по уму - у вас должна быть универсальная функция, вычисляющая (или тупо знающая) по номеру месяца, где он расположен, то есть функция, которая возвращает координаты месяца на листе по его номеру. Тогда задача, которая требуется сейчас, решается легко и просто. Мало того, легко решается куча других сопутствующих задач (прошлых и будущих), потому что любой вашей процедуре будет все равно, где находится месяц, она получит его координаты из функции. Ну это по уму.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 15:24 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Умышленно сделано равномерно, чтобы не замарачиваться мне. У меня еще с условием проблема. Одна форма из двух всегда будет закрыта. Я поставил Or (или) но код глючит, из-за отсутствие одного из ComboBox. Это как то лечится? If Form_SelectDate.ComboBox_Month = CStr(.Cells(i, 27).Text) Or UserForm4.ComboBox1 = CStr(.Cells(i, 27).Text) Then ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:12 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProЦипихович ЭндрюСпросим по другому, Ваше мнение конструкция вида: а="сс" If ..... Then GoTo a ...... ...... ...... сс: Имеет право на существование? Может иметь практическое для программиста? Я считаю что да Может иметь. В принципе, это можно в VB6... точнее, не совсем это, а вызов процедуры по указателю в виде переменной... но кажется этот способ недокументирован, кажется его когда-то давно приводил Antonariy...Не то чтобы не документирован, просто гемороен и нафиг не нужен в прикладных программах. Вызов процедуры "по указателю" можно реализовать с помощью классов CreateObject (progid - переменная) или с помощью CallByName (переменная — название метода). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:15 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailУмышленно сделано равномерно, чтобы не замарачиваться мне. не знаю. в цифрах 35, 72, 109, 146, 183, 220 я равномерности не нашел, иначе предложил бы другой алгоритм. segailУ меня еще с условием проблема. Одна форма из двух всегда будет закрыта. Я поставил Or (или) но код глючит, из-за отсутствие одного из ComboBox. Это как то лечится? If Form_SelectDate.ComboBox_Month = CStr(.Cells(i, 27).Text) Or UserForm4.ComboBox1 = CStr(.Cells(i, 27).Text) Then Этот код запустит обе формы, вне зависимости о того, что было закрыто. А вопрос я не очень понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:16 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, ну как нет количество промежуточных ячеек 37. Или Вы о другом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:19 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProЭтот код запустит обе формы, вне зависимости о того, что было закрыто. А вопрос я не очень понял. Этот код не запускает форму. С одной из двух форм будет выполнен код вызванный (например кликом по кнопке) из модуля. Одна из форм всегда будет закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:24 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, ну как нет количество промежуточных ячеек 37. Или Вы о другом? О, чёрт, видимо не туда посмотрел. "Признаю себя ослом и жду дальнейших распоряжений" (с) Тогда мне непонятна вообще вот эта конструкция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Тогда все, что я советовал, нафиг не нужно. Просто сделать из этого цикл и все. Запускать цикл можно будет с любого по любой месяц по желанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:24 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailЭтот код не запускает форму. Этот код запускает форму, если она не запущена. Если не верите, поставьте MsgBox в UserForm_Initialize и убедитесь в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:27 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Любой месяц выбирается на форме Form_SelectDate в ComboBox_Month затем клик по кнопке например так. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:33 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:34 |
|
||
|
при сдвиге месяца, выполнить нужный код.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, Любой месяц выбирается на форме Form_SelectDate в ComboBox_Month затем клик по кнопке например так. Код: plaintext 1. 2. Ну и в чем проблема? Если выбран апрель, то надо просто устроить цикл от 4 до 12. В цикле будет одна строчка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36721423&tid=2159598]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 147ms |

| 0 / 0 |
