Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Не могу доработать код с выбором текущего и прошедшего месяца в объекте ComboBox1 Необходимо чтобы код, который законспирирован в примере, выполнялся при выборе значения месяц в ComboBox1 только на текущий или прошедший месяц не зависимо от года. Я пытался проделать это через объекты TextBox_мц и TextBox_mz (данные объекты не нужны, если можно обойтись без них, их можно удалить) И как не затронуть значение “Итого” в раскрывающимся списке. Что бы это не повлияло на значение "Итого" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 21:24 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Дополнение Код должен выполняться на текущую прошедшую и на “Итого” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 21:29 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segail, по мне так все написанное выше бессвязный набор мыслей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 22:47 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Все, что я смог понять: на сегодняшний момент месяцы с марта по декабрь не нужны. Ну так и не добавляйте их в комбобокс, в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 22:52 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Лады попробую объяснить 1. Откройте файл и посмотрите код, то что там законспирировано (извиняюсь если это правильное выражение)трогать не надо (это основной код который должен выполняться при главном условии в проекте а не в этом примере) 2. Описание действия: При выборе значения в объекте ComboBox1 (в объекте 12 месяцев прописью и одно значение “Итого”)должен выполнится код о котором было сказано в первом пункте. 3. Условие: Код, о котором было сказано в первом пункте, выполняется лишь в том случае, если пользователь при выполнении действия (выбор значения из раскрывающегося списка) выбрал из 12 м-ц текущий (то есть сегодня), или прошедший (то есть который уже прошел) месяц, год и дата не должны играть в данном условии ни какой роли. Если выбран будущий м-ц (который еще не наступил), то выходит сообщение (текст сообщения я напишу сам), код не выполняется. Также при выборе значения “Итого” код тоже выполняется. 4. Высылаю повторный пример с кодом, но без условия, о котором было сказано в пункте 3. p/s Мне не надо чтобы код выполнился в предложенном примере, мне надо создать условие, о котором было сказано выше, которое позволит выполнить данный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:03 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:03 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
но погодите, в первом архиве у вас происходит все как вы описали - если я выбираю месяц с марта по декабрь, мне выдается ругательное сообщение, иначе не выдается. То есть вроде условие работает так, как вы хотите и описали. Я не могу понять, в чем заключается вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:10 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Или вы просто не можете разобраться с синтаксисом оператора if ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:15 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Proно погодите, в первом архиве у вас происходит все как вы описали - если я выбираю месяц с марта по декабрь, мне выдается ругательное сообщение, иначе не выдается. То есть вроде условие работает так, как вы хотите и описали. Я не могу понять, в чем заключается вопрос? Да сообщение выходит а после нажатие ОК код выполняется… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:16 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProИли вы просто не можете разобраться с синтаксисом оператора if ??? Наверно да... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:17 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
первый вариант If условие Then оператор Else оператор: оператор: оператор (в вашем случае можете дописать после MsgBox оператор End Sub второй вариант If условие Then оператор оператор оператор Else оператор оператор оператор End If Но меня крайне удивляет, что человек, написавший уже сотню сообщений по теме не знает, как пишется If или хотя бы не может нажать F1 и посмотреть синтаксис If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:20 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro (в вашем случае можете дописать после MsgBox оператор End Sub сорри, разумеется Exit Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:21 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Я запутался с условиями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:24 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
А чтобы не городить огород - условие может быть примерно таким: Код: plaintext 1. 2. 3. 4. Только вы не описали, как быть в январе, нужно ли разрешать декабрь. Ваш код этого тоже не учитывает. И все-таки гораздо красивее не отсеивать неправильные варианты после выбора, а вообще не давать их выбрать, то бишь не грузить в комбобокс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:29 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
не, неправильно вот так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:33 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailто что там законспирировано (извиняюсь если это правильное выражение) Код, закрытый символами комментария, называется закомментированным :) Но идея хорошая - "законспирировано от компилятора" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:35 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProА чтобы не городить огород - условие может быть примерно таким: Код: plaintext 1. 2. 3. 4. Только вы не описали, как быть в январе, нужно ли разрешать декабрь. Ваш код этого тоже не учитывает. И все-таки гораздо красивее не отсеивать неправильные варианты после выбора, а вообще не давать их выбрать, то бишь не грузить в комбобокс. Код выполняется при дополнительном условии If Cells(i, 27).Text = ComboBox1.Text Then куда его присобачить Не понял с декабрем. Если сейчас январь то декабрь будущий месяц, код не выполняется, сообщение ругается. Или я Вас не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:47 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segail, If ComboBox1.ListIndex+1 > Month(Date) And ComboBox1.ListIndex<>12 then ругаться Else If Cells(i, 27).Text = ComboBox1.Text Then выполнять нужный код End If так что ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:50 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:52 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailКод выполняется при дополнительном условии If Cells(i, 27).Text = ComboBox1.Text Then куда его присобачить весь ваш закомментированный код ставится там, где я написал "выполнять нужный код" segailНе понял с декабрем. Если сейчас январь то декабрь будущий месяц, код не выполняется, сообщение ругается. Или я Вас не понял. Ну то есть в январе предыдущего периода просто нет. Ну тогда все ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:53 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segail наверно так Во-первых обратите внимание, я поправил условие, в первом сообщении оно было неверным во-вторых, вы потеряли начало цикла, который идет ДО вашего условия Cells(i, 27) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2010, 23:56 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Пока визуально попробовал, код работает Путаюсь с условиями если будет три условия вообще запутаюсь А как код срабатывает на значение “Итого” вообще не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:09 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailПутаюсь с условиями если будет три условия вообще запутаюсь рисуйте алгоритмы на бумажке segailА как код срабатывает на значение “Итого” вообще не понял? Or ComboBox1.ListIndex=12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:14 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Ругайте как хотите, не подумал Не зря Вы говорили за декабрь прошедшего года. Не дошло Создал файл за 2009 по идеи должны открываться все месяца, но условие создано не на основание года. Можно ли исправить? У меня ячейка R1 Листа ”Отчет” туда через код вносится также текущий или прошедший год. От данной ячейки строится вся система кодов, которые выполняют условия связанных с датами текущими и прошедшими. Нельзя ли изменить Ваше условие применив год ячейки R1 Листа”Отчет” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:26 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
если я вас правильно понял, то Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:33 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, момент проверю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:37 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Попробовал в 2010 Блокирует Январь и Февраль и Итого, Может вместо Or поставить And? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:44 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Or наверное подойдет к Итого Аnd необходимо наверное к году ячейки а две разные функции нельзя… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:54 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailУ меня ячейка R1 Листа ”Отчет” туда через код вносится также текущий или прошедший год. От данной ячейки строится вся система кодов, которые выполняют условия связанных с датами текущими и прошедшими. Нельзя ли изменить Ваше условие применив год ячейки R1 Листа”Отчет” Тогда попытайтесь по-русски выразить мысль, заключенную в этом бессвязном наборе слов, я не экстрасенс. И не надо мне описывать, как и чего делает ваша программа, это не имеет отношение к написанию условия. Просто опишите весь набор условий, при которых должен выполняться код. Сейчас три условия, соединенных по принципу ИЛИ 1) Выбранный в комбобоксе месяц меньше или равен текущему месяцу 2) В комбобоксе выбрано "Итого" 3) Число в ячейке R1 меньше, чем текущий год ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 00:56 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro[quot segail] 3) Число в ячейке R1 меньше, чем текущий год Меньше или равен, текущему году Наверно так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:01 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailМеньше или равен, текущему году Наверно так... Тогда это позволит выбрать март 2010. Это правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:04 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Заааплутал я Конечно нет Тога наоборот что ли, больше либо равно текущему году? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:11 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, Заааплутал я Конечно нет Тога наоборот что ли, больше либо равно текущему году? Что опять же позволит выбрать март в комбобоксе. Если вы сами не понимаете, при каких условиях код должен выполняться, то как об этом должен догадаться посторонний человек? Вопрос ведь с состоит не в том, как записать условие на языке VB, а в том, что вы не можете свою мысль записать на бумаге. Попробуйте ответить на вопрос, при каких условиях в комбобоксе разрешено выбирать март. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:16 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Тока так могу объяснить И так далее назад 2007 все мц эти месяца выбираются 2008 все мц эти месяца выбираются 2009 все мц эти месяца выбираются 01.2010 ,02.2010 эти месяца выбираются Вперед пока стоп ждем наступления мц марта 2010 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:20 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segail 2007 все мц эти месяца выбираются 2008 все мц эти месяца выбираются 2009 все мц эти месяца выбираются 01.2010 ,02.2010 эти месяца выбираются Вперед пока стоп ждем наступления мц марта 2010 В комбобоксе пользователь выбирает только месяц, но не год Где пользователь задает год для этого месяца? Впрочем, я уже задал вопрос и вы на него не ответили. "при каких условиях в комбобоксе разрешено выбирать март?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:24 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro"при каких условиях в комбобоксе разрешено выбирать март?" ровно 1,5 страницы чтобы вопрошающий сформулировал вопрос. :) а по существу я так понял март можно выбрать если сегодня март, но в марте уже нельзя выбрать январь. т.е IF Выбранный месяц >=Текущий месяц-1 AND Выбранный месяц <Текущий месяц+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:29 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
забыл добавить If Выбранный месяц - 2 <0 then Выбранный месяц = выбранный месяц+12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:31 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
ShamanusShocker.Pro"при каких условиях в комбобоксе разрешено выбирать март?" ровно 1,5 страницы чтобы вопрошающий сформулировал вопрос. :) а по существу я так понял март можно выбрать если сегодня март, но в марте уже нельзя выбрать январь. т.е IF Выбранный месяц >=Текущий месяц-1 AND Выбранный месяц <Текущий месяц+1 Шаманус, не путай человека Мы уже разобрались, что он хочет, чтобы можно было выбрать все, что было раньше текущего месяца, а также текущий месяц. Осталось выяснить, где он хочет задавать год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:32 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, а ты настойчивый.... ну удачи, я пошел спать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:35 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
ShamanusShocker.Pro, а ты настойчивый.... ну удачи, я пошел спать Я занудный. У автора осталось немного времени, чтобы сформулировать вопрос, я через полчасика тоже пойду спать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:38 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shamanus, Не обходима наверно взаимосвязь месяца ComboBox1 и года ячейка R1 ComboBox1&”.”&Sheets("Отчет").Range("R1") получится месяц года. Но как его слепить если месяц уже выбирается для выполнения кода в ComboBox1? То что могу сказать, в любом случае ячейка R1 является годом и без нее нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:39 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Слепить его легко, но зачем? Если вам нужно, чтобы в комбобоксе можно было выбрать любой месяц, если в ячейке R1 указано, скажем, 2009, то я уже написал для вас это условие, но оно чем-то вам не подошло. Чем - вы пока не ответили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:42 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, 01.2010 02.2010 Итого Исполнить код нельзя Хотя они как раз и должны исполняться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:48 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, 01.2010 02.2010 Итого Исполнить код нельзя Хотя они как раз и должны исполняться вы что-то напутали в моем условии при выборе из комбобокса месяца "январь" все остальные условия (включая год) не имеют значения. Киньте сюда свой файл еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:51 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 01:58 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Я ж говорю, вы все перепутали. У вас на положительный результат проверки стоит Msgbox с руганью, а на отрицательный результат - наоборот выполняется код, который не должен выполняться. А все потому, что тупо засунули мое условие, даже не пытаясь разобраться, как оно работает. Эдак вы далеко в изучении не уйдете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:06 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Я просто поменял первоначальное условие на вторичное, ничего не подозревая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:09 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
segailShocker.Pro, Я просто поменял первоначальное условие на вторичное, ничего не подозревая. Я ведь поправился мгновенно и следующим же сообщением дал исправленный вариант, еще и позже обратил на это ваше внимание. Теперь работает как надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:11 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Да нормально. Большое спасибо. К сожалению мне учится поздно. Полтора года назад я ПК сравнивал что то вроде с телевизором. Но все таки рад, хоть что то знаю, потому что я знаю людей с высшим образованием которые Excel используют только как текстовый редактор. Хотя у них была возможность учиться… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:21 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
Тем не менее, вряд ли вы остановитесь на этом макросе. Поэтому мой совет остается в силе - не используйте бездумно то, что вам предлагают, осознавайте каждую запятую, если бы вы это сделали, то вторая страница в этом топике не понадобилась бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:26 |
|
||
|
Выполнение кода на текущий или прошедший месяц.
|
|||
|---|---|---|---|
|
#18+
авторК сожалению мне учится поздно. Полтора года назад я ПК сравнивал что то вроде с телевизором. segail, ПК здесь не при чём: Вам нужно учиться формулировать свои мысли и концентрировать внимание. А это - никогда не поздно ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 02:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=60&tid=2160137]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 368ms |

| 0 / 0 |
