Здравствуйте Форумчане! ни как не могу решить свою задачу формулами, поэтому ищу помощи здесь, надеюсь на ваши ответы. Задача у меня такая(учет товара): есть лист База на нем: номер, наименование, цена, в наличии; и лист Журнал:ДАТА,№,НАИМЕНОВАНИЕ, ПРИХОД, ПРОДАНО, ЦЕНА, СКИДКА, СУММА, НА ДР.ТОЧКУ, ОСТАТОК. нужно чтобы выбирая товар на листе БАЗА появлялась форма (пример в приложении) в которой показывалась сегодняшняя дата, наименование и номер выбранного товара, в наличии, цена, сумма, остаток и надо было бы ввести приход, продано, скидка(если есть), перемещение товара На Др.Точку,; затем эти данные попадали бы на лист Журнал! Спасибо большое!
Здравствуйте Форумчане! ни как не могу решить свою задачу формулами, поэтому ищу помощи здесь, надеюсь на ваши ответы. Задача у меня такая(учет товара): есть лист База на нем: номер, наименование, цена, в наличии; и лист Журнал:ДАТА,№,НАИМЕНОВАНИЕ, ПРИХОД, ПРОДАНО, ЦЕНА, СКИДКА, СУММА, НА ДР.ТОЧКУ, ОСТАТОК. нужно чтобы выбирая товар на листе БАЗА появлялась форма (пример в приложении) в которой показывалась сегодняшняя дата, наименование и номер выбранного товара, в наличии, цена, сумма, остаток и надо было бы ввести приход, продано, скидка(если есть), перемещение товара На Др.Точку,; затем эти данные попадали бы на лист Журнал! Спасибо большое!AKSENOV048
появление формы формулами - я не говорил об этом. я имел ввиду то что изначально пробовал сделать все операции с помощью формул, без использования формы и VBA.
появление формы формулами - я не говорил об этом. я имел ввиду то что изначально пробовал сделать все операции с помощью формул, без использования формы и VBA.AKSENOV048
Добрый день. Проверьте, так ли в общих чертах, как хотелось. Не понял, что и как делать с скидкой (не торговый работник), поэтому этого функционала нет, просто на второй лист пишется слово "скидка" . Форма появляется при клике по названию в втором столбце. Вообще, как мне кажется, тут нужно тщательнее продумать механизм - в таком виде как-то не очень...
Добрый день. Проверьте, так ли в общих чертах, как хотелось. Не понял, что и как делать с скидкой (не торговый работник), поэтому этого функционала нет, просто на второй лист пишется слово "скидка" . Форма появляется при клике по названию в втором столбце. Вообще, как мне кажется, тут нужно тщательнее продумать механизм - в таком виде как-то не очень...Hugo
все отлично, это то, что задумывалось! очень здорово то что можно видеть остаток товара на каждый день(не затеряется). Сейчас попробую перепишу немного порядок расчета и скидку.
все отлично, это то, что задумывалось! очень здорово то что можно видеть остаток товара на каждый день(не затеряется). Сейчас попробую перепишу немного порядок расчета и скидку.AKSENOV048
В общем рабочий вариант, вот только я не понял, как быть в случае, если поступит товар по новой цене. Может быть тогда вручную записать его в таблице в новой строке ниже?
В общем рабочий вариант, вот только я не понял, как быть в случае, если поступит товар по новой цене. Может быть тогда вручную записать его в таблице в новой строке ниже?Hugo
программа обалденная. насчет новой цены, думаю можно и так поступить. сейчас пока сижу разбираю все возможные варианты. спасибо огромнейшие)))).отпишусь.
программа обалденная. насчет новой цены, думаю можно и так поступить. сейчас пока сижу разбираю все возможные варианты. спасибо огромнейшие)))).отпишусь.AKSENOV048
Программа не сложная, думаю скидку и сами сможете прикрутить - это Вам пригодится в дальнейшем, если/когда что-то изменится в таблице. Я вот только думаю, что в названии стоит писать и цену - тогда сводной по журналу можно будет вывести итог по блузе за 1000 и блузе за 1100. Или может быть при записи в журнал добавить ячейку (или можно формулой сделать), где слить название и цену - тогда тоже можно по этому столбцу отличить один товар от другого, а по столбцу С подбить результат в общем.
Программа не сложная, думаю скидку и сами сможете прикрутить - это Вам пригодится в дальнейшем, если/когда что-то изменится в таблице. Я вот только думаю, что в названии стоит писать и цену - тогда сводной по журналу можно будет вывести итог по блузе за 1000 и блузе за 1100. Или может быть при записи в журнал добавить ячейку (или можно формулой сделать), где слить название и цену - тогда тоже можно по этому столбцу отличить один товар от другого, а по столбцу С подбить результат в общем.Hugo
скидку уже сделал, изменил расчет суммы=продано*цену-продано*скидку. далее думаю добавлю столбцы Цена закупки и Прибыль! думаю вопросов не возникнет. можно ли сделать, так, чтобы при выборе пустой строки на листе база(любой, или лучше следующей после таблицы) тоже появлялась форма "новый товар" где можно указать наименование, цену, кол-во, все это добавляется в базу и соответственно в журнале событие о приходе товара? еще просьба можете вставить в форму возможность выбора даты (календарем)(возможен вариант несвоевременного внесения информации о поступлениях или продажи товара)
по поводу наименования и цены, наверное не надо, магазин не очень большой и вряд ли нужен будет отчет именно по блузе и т.п. отдельно.
скидку уже сделал, изменил расчет суммы=продано*цену-продано*скидку. далее думаю добавлю столбцы Цена закупки и Прибыль! думаю вопросов не возникнет. можно ли сделать, так, чтобы при выборе пустой строки на листе база(любой, или лучше следующей после таблицы) тоже появлялась форма "новый товар" где можно указать наименование, цену, кол-во, все это добавляется в базу и соответственно в журнале событие о приходе товара? еще просьба можете вставить в форму возможность выбора даты (календарем)(возможен вариант несвоевременного внесения информации о поступлениях или продажи товара)
по поводу наименования и цены, наверное не надо, магазин не очень большой и вряд ли нужен будет отчет именно по блузе и т.п. отдельно.AKSENOV048
С календарём пока не делал - это не так просто, нужно обдумать. Может без календаря - просто на форме будет поле, где будет сегоднящняя дата, которую можно изменить вручную? Ну а форму добавления товара сделал, на основе существующей. Тестите.
С календарём пока не делал - это не так просто, нужно обдумать. Может без календаря - просто на форме будет поле, где будет сегоднящняя дата, которую можно изменить вручную? Ну а форму добавления товара сделал, на основе существующей. Тестите.Hugo
СПАСИБО СЕЙЧАС ПОПРОБУЮ. ВОТ ТО ЧТО У МЕНЯ ПОКА ПОЛУЧИЛОСЬ!
Уважаемый Hugo скажите, как вы считаете, как лучше организовать учет далее. Есть Магазин, в нем свой товар и + некоторый товар который дан под реализацию (не весь). на данный момент у меня было две книги, одна Магазин вторая Реализация, и если товар из реализации продан в магазине, то приходилось указывать это в двух книгах. может стоит в нынешней книге рядом с базой магазина сделать базу Реализации, и если продается вещь которая есть в обоих списках то остаток считается в двух базах. как вы считаете?
СПАСИБО СЕЙЧАС ПОПРОБУЮ. ВОТ ТО ЧТО У МЕНЯ ПОКА ПОЛУЧИЛОСЬ!
Уважаемый Hugo скажите, как вы считаете, как лучше организовать учет далее. Есть Магазин, в нем свой товар и + некоторый товар который дан под реализацию (не весь). на данный момент у меня было две книги, одна Магазин вторая Реализация, и если товар из реализации продан в магазине, то приходилось указывать это в двух книгах. может стоит в нынешней книге рядом с базой магазина сделать базу Реализации, и если продается вещь которая есть в обоих списках то остаток считается в двух базах. как вы считаете?AKSENOV048
Может быть всё писать в одну базу, просто добавить столбец с признаком, чей это товар? Тогда в общем порядке проводите товар, а в базе и журнале всегда можно отобрать нужное автофильтром. И переделки не много - добавить на форму одно поле для работы с этим признаком. Хотя вообще тут бы нужна помощь того, кто практически делал и работает с такой базой магазина - я с этой областью не связан.
Может быть всё писать в одну базу, просто добавить столбец с признаком, чей это товар? Тогда в общем порядке проводите товар, а в базе и журнале всегда можно отобрать нужное автофильтром. И переделки не много - добавить на форму одно поле для работы с этим признаком. Хотя вообще тут бы нужна помощь того, кто практически делал и работает с такой базой магазина - я с этой областью не связан.Hugo
не было времени сегодня долго сидеть, сейчас пока сделал так. завтра буду думать по поводу соединения базы магазина и реализации! работает все супер (совершить ошибку практически не возможно)
не было времени сегодня долго сидеть, сейчас пока сделал так. завтра буду думать по поводу соединения базы магазина и реализации! работает все супер (совершить ошибку практически не возможно)AKSENOV048
"не было времени сегодня долго сидеть" - Понедельник, Сегодня, 03:52 Красиво получается. Может быть ещё TabIndex полям форм поменять, чтоб удобно было по табу перескакивать по наиболее часто используемым полям и кнопкам.
P.S. Тут рядом приложен файл с примерами поиска по базе - может быть пригодится, чтоб быстро найти нужную строку. Добавить кнопку поиска - по ней откроется другая форма, там ищем, переходим на строку, снова первая форма. Ну или иначе... Файл тут: http://www.excelworld.ru/forum/2-713-1 Или прямой линк на файл: http://www.excelworld.ru/_fr/7/__.xlsm
"не было времени сегодня долго сидеть" - Понедельник, Сегодня, 03:52 Красиво получается. Может быть ещё TabIndex полям форм поменять, чтоб удобно было по табу перескакивать по наиболее часто используемым полям и кнопкам.
P.S. Тут рядом приложен файл с примерами поиска по базе - может быть пригодится, чтоб быстро найти нужную строку. Добавить кнопку поиска - по ней откроется другая форма, там ищем, переходим на строку, снова первая форма. Ну или иначе... Файл тут: http://www.excelworld.ru/forum/2-713-1 Или прямой линк на файл: http://www.excelworld.ru/_fr/7/__.xlsmHugo
"не было времени сегодня долго сидеть" - Понедельник, Сегодня, 03:52 - это я в смысле, что поздно удалось за комп сесть!)))
спасибо!!! по поводу TabIndex(сначала не понял что это) думаю, не обязательно, т.к. все изменения можно сделать с помощью SpinButton. ПОИСК по базе - отличная вещь,(видел их ранее на planetaexcel, думал мне не пригодятся) понадобилась! выбрал ваш вариант, показался лучше остальных! убрал из него 'If j = 1 Then Cells(ListBox1.List(0, 0), stolbV).Select'(точнее закомментил), чтобы форма не появлялась пока не выберу объект из списка, бывали нюансы когда хотел найти "блуза сетка" начинал вбивать слово "сетка", а у меня после введения буквы "с" появлялась форма с приход и расходом на товар "сарафан", т.к. он у меня пока единственный начинающийся на "с", так что эту строку из кода убрал. сейчас продолжаю думать как соединить базу магазина и реализации. в формах добавил чекбоксы с именами "магазин" и "реализация" и тексбокс рядом. предполагаю сделать следующее: добавить новый столбец "где", в котором указан где находится товар, если в форме NewProduct указываем чекбокс "магазин" значит в текстбоксе рядом ставится "м", если реализация то "р", а если товар из реализации находится в магазине значит отмечаем два чекбокса и пишется "мр", соответственно эти значения попадают в столбец "где" в базе и в журнале.; далее о форме прихода и расхода "MAXIMUM", там такие же чекбоксы и текстбокс, здесь в текстбоксе отображается значение "где"(товар) "м","мр" или "р", соответственно выделены и чекбоксы,; далее, например в базе есть товар "блуза" "р", нажимаем, в форме "MAXIMUM" отмечаем пункт "на др.точку" и отмечаем чекбокс "магазин" в текстбоксе отображается "мр" это значит что товар из реализации находится теперь в магазине, соответственно, в базе и журнале все это отображается; если мы открыли товар со значением "мр" отмечаем пункт "на др.точку", убираем чекбокс "магазин" текстбокс менят значение на "р". вот такая сложная задача стала передо мной.
"не было времени сегодня долго сидеть" - Понедельник, Сегодня, 03:52 - это я в смысле, что поздно удалось за комп сесть!)))
спасибо!!! по поводу TabIndex(сначала не понял что это) думаю, не обязательно, т.к. все изменения можно сделать с помощью SpinButton. ПОИСК по базе - отличная вещь,(видел их ранее на planetaexcel, думал мне не пригодятся) понадобилась! выбрал ваш вариант, показался лучше остальных! убрал из него 'If j = 1 Then Cells(ListBox1.List(0, 0), stolbV).Select'(точнее закомментил), чтобы форма не появлялась пока не выберу объект из списка, бывали нюансы когда хотел найти "блуза сетка" начинал вбивать слово "сетка", а у меня после введения буквы "с" появлялась форма с приход и расходом на товар "сарафан", т.к. он у меня пока единственный начинающийся на "с", так что эту строку из кода убрал. сейчас продолжаю думать как соединить базу магазина и реализации. в формах добавил чекбоксы с именами "магазин" и "реализация" и тексбокс рядом. предполагаю сделать следующее: добавить новый столбец "где", в котором указан где находится товар, если в форме NewProduct указываем чекбокс "магазин" значит в текстбоксе рядом ставится "м", если реализация то "р", а если товар из реализации находится в магазине значит отмечаем два чекбокса и пишется "мр", соответственно эти значения попадают в столбец "где" в базе и в журнале.; далее о форме прихода и расхода "MAXIMUM", там такие же чекбоксы и текстбокс, здесь в текстбоксе отображается значение "где"(товар) "м","мр" или "р", соответственно выделены и чекбоксы,; далее, например в базе есть товар "блуза" "р", нажимаем, в форме "MAXIMUM" отмечаем пункт "на др.точку" и отмечаем чекбокс "магазин" в текстбоксе отображается "мр" это значит что товар из реализации находится теперь в магазине, соответственно, в базе и журнале все это отображается; если мы открыли товар со значением "мр" отмечаем пункт "на др.точку", убираем чекбокс "магазин" текстбокс менят значение на "р". вот такая сложная задача стала передо мной. AKSENOV048
Я смотрю, дело пошло По поводу поиска - можно ведь код изменить, чтоб выделалась первая ячейка строки, на которой форма не вызывается: [vba]
Код
'переход к ячейке листа, содержащей выбранный элемент списка Cells(ListBox1.Value, stolbV).Offset(, -1).Select
[/vba]
и так же можно изменить, если найден один товар - тогда форма вызовется после клика уже на таблице. Можно усложнить - добавить чекбокс в форме поиска, чтоб менять это поведение - или сразу открывать форму, или после клика в таблице.
Вернее так, если одну форму на двух разных листах используете - оффсет отставить, там ведь есть явное указание, на какую ячейку переходить: [vba]
Код
Private Sub UserForm_Initialize() If ActiveSheet.Index = 1 Then stolbV = 1 'задаем столбец для выбора А-1 В-2 С-3 и тд strokaFirst = 3 'задаем номер верхней строки, начиная с которой осуществляем поиск ElseIf ActiveSheet.Index = 2 Then stolbV = 3 'задаем столбец для выбора А-1 В-2 С-3 и тд strokaFirst = 2 'задаем номер верхней строки, начиная с которой осуществляем поиск End If End Sub
Private Sub TextBox1_Change() stolb = Array(2, 3) 'задаем столбцы для поиска А-1 В-2 С-3 и тд
[/vba]
Где "'задаем столбцы для поиска" тоже можно ветвление сделать в зависимости от активного листа.
Я смотрю, дело пошло По поводу поиска - можно ведь код изменить, чтоб выделалась первая ячейка строки, на которой форма не вызывается: [vba]
Код
'переход к ячейке листа, содержащей выбранный элемент списка Cells(ListBox1.Value, stolbV).Offset(, -1).Select
[/vba]
и так же можно изменить, если найден один товар - тогда форма вызовется после клика уже на таблице. Можно усложнить - добавить чекбокс в форме поиска, чтоб менять это поведение - или сразу открывать форму, или после клика в таблице.
Вернее так, если одну форму на двух разных листах используете - оффсет отставить, там ведь есть явное указание, на какую ячейку переходить: [vba]
Код
Private Sub UserForm_Initialize() If ActiveSheet.Index = 1 Then stolbV = 1 'задаем столбец для выбора А-1 В-2 С-3 и тд strokaFirst = 3 'задаем номер верхней строки, начиная с которой осуществляем поиск ElseIf ActiveSheet.Index = 2 Then stolbV = 3 'задаем столбец для выбора А-1 В-2 С-3 и тд strokaFirst = 2 'задаем номер верхней строки, начиная с которой осуществляем поиск End If End Sub
Private Sub TextBox1_Change() stolb = Array(2, 3) 'задаем столбцы для поиска А-1 В-2 С-3 и тд
[/vba]
Где "'задаем столбцы для поиска" тоже можно ветвление сделать в зависимости от активного листа.Hugo