![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 47
|
![]()
Добрый день всем гуру VBA!
я новичок в макросах.... Помогите советом или примером. Есть баланс. Необходим макрос, чтобы если баланс не сходился, то выскакивало сообщение "В таком то месяце, разница между активом и пассивом составляет такую то величину". Я пытался сделать, но мало знаний.... вот пытался накидать на первую ячейку.... Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Для ячеек "C20" и C39" можно так:
Код:
А вот что делать, если требуется проверять несколько пар ячеек на листе? Придумайте и сформулируйте требования.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 28.08.2009
Сообщений: 47
|
![]() Цитата:
Уважаемый SAS888. Требования я написал выше. Но наверное не понятно... ![]() Мне нужно, чтобы если в каком то месяце есть различие между пассивом и активом, то выскакивало сообщение, с содержанием названия месяца в котором баланс не сходится и величина разницы. Например "08/2009 г. баланс не сходится на величину в 100 руб." иначе мне на каждый столбец с датой придется ставить a = Round([XX]) - Round([CXX]), при этом если мне нужно будет увеличить период баланса, то опять вручную вписывать эти ячейки в макросе. Мне бы по проще данную процедуру проверки. p.s. Кстати ваш вариант кода на много проще и лучше моего )) Сенкс. Жду дальнейших наставлений ) Последний раз редактировалось serafim09; 08.09.2009 в 11:03. |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Спрошу по-другому: 1. Что делать, если баланс не сходится в нескольких месяцах? 2. Кто и как заполняет лист? Т.к. если применять "выскакивание" сообщений, то при заполнении листа, например, "врурную", они (сообщения) Вас замучают. 3. Строки результатов активов и пассивов на листе фиксированы, или могут изменяться? P.S. Может быть лучше написать макрос "Проверка" и запускать его вручную по мере надобности? Во-первых, процедура проверки не будет происходить каждый раз при пересчете листа (изменении значений в формулах). Во-вторых, по окончании работы можно вывести очень подробный результат проверки.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 08.09.2009 в 11:30. Причина: Добавлено |
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 28.08.2009
Сообщений: 47
|
![]() Цитата:
2. Заполняется лист на основании данных, которые он берет из других строчек, в которых произошли расчеты. Т.е. непосредственно каждую строку в ручную не забиваю. 3. Кол-во строк результатов активов и пассивов фиксировано, но не диапазон временной, я его могу менять от 3-ох месяцев и далее до бесконечности.... вот как то так ![]() Кстати у меня на листе есть проверка = ЕСЛИ((Пассив - Актив)>1;1;0). Наверное проще сделать в макросе поиск этой 1 при расхождении и тогда в месяце в котором расхождение чтоб выскакивало сообщение о величине расхождения и самом месяце. Последний раз редактировалось serafim09; 08.09.2009 в 11:40. |
|
![]() |
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
= ЕСЛИ((Пассив - Актив)>1;1;0)
стартовая логика не верна (или я ошибаюсь). допустим пассив=100, актив=1000, пассив-актив=-900, для меня это знак, что они не сходятся абсолютно принципиально, а ваша формула вернет 0 - вроде как все ок!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Посмотрите вложение. Запустите макрос "Проверка".
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 47
|
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 47
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Во вложении тот же файл. В коде макроса подробные комментарии.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. | Ples | Microsoft Office Excel | 8 | 17.12.2016 18:15 |
Макрос для формата значений | segail | Microsoft Office Excel | 3 | 13.06.2009 20:54 |
Pascal задача на проверку условия | werser | Помощь студентам | 1 | 21.12.2008 00:34 |
Помогите проверку ввода сделать | Panda | Помощь студентам | 3 | 01.07.2008 20:50 |
Делать проверку при спрятонной форме | AngelOfDeath | Общие вопросы Delphi | 8 | 02.05.2008 15:35 |