Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2012, 14:41   #1
Alex Fergusson
 
Регистрация: 04.07.2012
Сообщений: 7
Радость Сложение и вычитание двух листов

Хотелось бы создать кнопку "+" и "-" и прописать в них соответствующий код vba, но не могу. Суть кнопок заключается в том, чтобы складывать или вычитать данные из одного листа и вставлять результат в другой. Например: есть лист1 в котором столбец А и В, в столбце А вводятся названия товаров из выпадающего списка, в столбец Б вводится расходуемое или принятое количество этого товара, нужно в столбец С вписать результат вычислений. В листе2 в столбце А хранятся все названия товаров и соответственно в столбце В их количество. Возможно ли сделать так чтобы при занесении в лист1 товара с его расходом, этот расход вычитался бы из соответствующего товара листа2 и записывался обратно на лист1 в столбец С? В логике выглядит как то так "=ЕСЛИ('склад 12'!$A$3=продукция!$C$3;(продукция! $C$3=продукция!$D$3)+('склад 12'!$A$3='склад 12'!$E$3);" ")"
Alex Fergusson вне форума Ответить с цитированием
Старый 04.07.2012, 15:52   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Вы бы пример в виде файла Excel прикрепили...
А то помочь вроде совсем несложно, но вот воссоздавать ваш файл (в надежде, что всё угадаем) никакого желания нет.
EducatedFool вне форума Ответить с цитированием
Старый 04.07.2012, 19:15   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение.
все на одном листе и в двух колонках. (на втором листе решал другую задачу, не обращайте внимания).
в начале таблицы должны быть внесены названия товаров с нулем в колонке приход/расход и начальным остатком в колонке остаток.
заполнив название товара, видите наличие товара, указываете приход/расход, копируете формулу Остаток из предыдущей строки.
Вложения
Тип файла: rar УчетТовара.rar (6.8 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.07.2012, 09:18   #4
Alex Fergusson
 
Регистрация: 04.07.2012
Сообщений: 7
По умолчанию

вот пример таблицы.
Игорь, вот как раз от формулы приходится отказаться, так как нужен именно макрос, потому что в формуле не получится сделать то действие, которое сделает кнопка. Еще загвоздка в том, что каждый товар привязан к своему остатку на 2м листе
Вложения
Тип файла: rar карточка.rar (5.5 Кб, 15 просмотров)

Последний раз редактировалось Alex Fergusson; 05.07.2012 в 09:23.
Alex Fergusson вне форума Ответить с цитированием
Старый 05.07.2012, 10:10   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
нужен именно макрос, потому что в формуле не получится сделать то действие, которое сделает кнопка.
В данном случае, боюсь что вы ошибаетесь.
Вложения
Тип файла: zip карточка.zip (16.3 Кб, 18 просмотров)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 05.07.2012, 11:26   #6
Alex Fergusson
 
Регистрация: 04.07.2012
Сообщений: 7
По умолчанию

DiemonStar, нет не ошибаюсь. Посмотрите пожалуйста в вашем варианте, если добавить скажем к определенному товару 100, в остатке будет так как надо в первом листе. Ну, а вдруг произошла ошибка в добавлении не той суммы скажем неделю назад, как тогда разобраться? Ведь предложенный вами вариант изменяет остаток у товара на весь временной период, что не есть хорошо. Наверное возможно же сделать так как я предлагаю, создать такой мини калькулятор на сложение и вычитание активной ячейки. Чтоб просто выделить ячейку в остатке первого листа, нажать + или - в зависимости от ситуации и получить результат, а в листе продукция этот результат вносить вручную как и есть.

Последний раз редактировалось Alex Fergusson; 05.07.2012 в 11:31.
Alex Fergusson вне форума Ответить с цитированием
Старый 05.07.2012, 11:46   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Изменил. вот так будет правильнее) И в отличии от вашего варианта - здесь будет сквозной пересчёт остатков после изменений
Вложения
Тип файла: zip карточка.zip (16.7 Кб, 23 просмотров)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 05.07.2012, 12:00   #8
Alex Fergusson
 
Регистрация: 04.07.2012
Сообщений: 7
По умолчанию

хм..отличный вариант. Вот этому тоже имеет место быть, интересная формула, щас ее немного под себя допилю. Спасибо огромное. Я вам должен)
Alex Fergusson вне форума Ответить с цитированием
Старый 05.07.2012, 12:07   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

С Вашего позволения переставлю несколько фраз из Вашего сообщения, сэр Fergusson.
Цитата:
Чтоб просто выделить ячейку в остатке первого листа, нажать + или - в зависимости от ситуации и получить результат
Цитата:
а вдруг произошла ошибка в добавлении
Цитата:
скажем неделю назад, как тогда разобраться?
не понимаю от чего Вы застраховались таким способом...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.07.2012, 12:40   #10
Alex Fergusson
 
Регистрация: 04.07.2012
Сообщений: 7
По умолчанию

первая цитата это просто как пример что хотелось сделать кнопку. вторая и третья цитата страховка от ошибки, что если неправильное количество было прибавлено или отнято, то это во первых будет видно по остатку, а во вторых страховка от бухгалтерии которая скажет что такого то числа у вас должен был быть такой то остаток, на что мы ответим что у нас тут все в порядке.
Alex Fergusson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение и вычитание дат и времени apx_angel PHP 1 08.05.2011 15:21
Ассемблер Лаба Сложение и вычитание чисел zefir1594 Фриланс 6 11.03.2010 19:22
Сложение, вычитание, деление, умножение в Turbo Debugger GaJIbI4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 08.03.2010 15:23
Сложение, вычитание в двоичной системе счисления Vemor Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2009 14:02
Переопределение операций(сложение,вычитание...) master_root Общие вопросы Delphi 3 18.06.2008 20:20