Есть Таблица (я прикрепил её). На "Листе 1" находится база данных, которая только постоянно пополняется (приходом новых товаров). В Столбике "А" стоят Артикул товаров, в столбике "Б" стоит количество этого товара на складе. В других столбиках дополнительная информация к товару.
На Листе 2 в Столбике "А" будут указаны Артикулы, которые были проданы/потеряны или возвращены назад. Вообщем товары которые нужно отнять или прибавить. Например я ввожу в столбик "А" Артикул "Т100" и нажимаю на кнопку отнять и после этого на "Листе 3" должно появится актуальное состояние склада, то есть Всё так же как и на "Листе 1" только на одну единицу артикула "Т100" меньше. Если я например ввёл два раза "Т100" например в А1 и в А2, то программа должна просто два раза отнять. Тоже самое и с прибавлением. "Лист 1" меняться не должен. На "Листе 2" нужны соответствующие кнопки "Добавить", "Отнять".
Если по какой то причине на складе (в "Листе 1") Количество какого либо товара 2, а отнять нужно 3. То программа должна "в Листе 2" в столбике "М" перечислить все "проблемные" Артикулы, которые я мануально уже подправлю.
Большое спасибо.
Добрый вечер. Мне нужна Ваша помощь.
Есть Таблица (я прикрепил её). На "Листе 1" находится база данных, которая только постоянно пополняется (приходом новых товаров). В Столбике "А" стоят Артикул товаров, в столбике "Б" стоит количество этого товара на складе. В других столбиках дополнительная информация к товару.
На Листе 2 в Столбике "А" будут указаны Артикулы, которые были проданы/потеряны или возвращены назад. Вообщем товары которые нужно отнять или прибавить. Например я ввожу в столбик "А" Артикул "Т100" и нажимаю на кнопку отнять и после этого на "Листе 3" должно появится актуальное состояние склада, то есть Всё так же как и на "Листе 1" только на одну единицу артикула "Т100" меньше. Если я например ввёл два раза "Т100" например в А1 и в А2, то программа должна просто два раза отнять. Тоже самое и с прибавлением. "Лист 1" меняться не должен. На "Листе 2" нужны соответствующие кнопки "Добавить", "Отнять".
Если по какой то причине на складе (в "Листе 1") Количество какого либо товара 2, а отнять нужно 3. То программа должна "в Листе 2" в столбике "М" перечислить все "проблемные" Артикулы, которые я мануально уже подправлю.
Sub run() Sheets("3").Columns("A:B").AutoFilter Sheets("3").Columns("A:B").Clear tot = Sheets("1").Cells(Rows.Count, 1).End(xlUp).Row Sheets("1").Activate Range(Cells(1, 1), Cells(tot, 2)).Copy Sheets("3").Activate Range("A2").PasteSpecial xlPasteAll Sheets("2").Select tottal1 = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To tottal1 art = Cells(i, 1) Set q = Sheets("3").Columns("A").Find(art) rowc = q.Row o = Sheets("3").Cells(rowc, 2) Sheets("3").Cells(rowc, 2) = o - 1 Next i Sheets("3").Columns("A:B").AutoFilter , Field:=2, Criteria1:="<" & 0 Sheets("3").Activate tota = Sheets("3").Cells(Rows.Count, 1).End(xlUp).Row If tota > 1 Then Range(Cells(1, 1), Cells(tot, 1)).Copy Sheets("2").Activate Range("M1").PasteSpecial xlPasteAll Else MsgBox "Проблемные не найдены" End If
End Sub
[/vba] [moder]Оформляйте код тегами, кнопка #[/moder]
Вот Вам макрос:
[vba]
Код
Sub run() Sheets("3").Columns("A:B").AutoFilter Sheets("3").Columns("A:B").Clear tot = Sheets("1").Cells(Rows.Count, 1).End(xlUp).Row Sheets("1").Activate Range(Cells(1, 1), Cells(tot, 2)).Copy Sheets("3").Activate Range("A2").PasteSpecial xlPasteAll Sheets("2").Select tottal1 = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To tottal1 art = Cells(i, 1) Set q = Sheets("3").Columns("A").Find(art) rowc = q.Row o = Sheets("3").Cells(rowc, 2) Sheets("3").Cells(rowc, 2) = o - 1 Next i Sheets("3").Columns("A:B").AutoFilter , Field:=2, Criteria1:="<" & 0 Sheets("3").Activate tota = Sheets("3").Cells(Rows.Count, 1).End(xlUp).Row If tota > 1 Then Range(Cells(1, 1), Cells(tot, 1)).Copy Sheets("2").Activate Range("M1").PasteSpecial xlPasteAll Else MsgBox "Проблемные не найдены" End If
End Sub
[/vba] [moder]Оформляйте код тегами, кнопка #[/moder]Cheshir0067
irelandzp@gmail.com
Сообщение отредактировал Cheshir0067 - Среда, 19.11.2014, 01:48
Pelena, У меня нет времени изучать. Мне срочно нужна эта программа, поэтому я здесь. Мне нужно по работе это. Согласитесь не целесообразно изучать язык программирования ради одного маленького скрипта. Я понимаю звучит может пафoсно, но каждый должен заниматься и быть профессионалом в своём деле. Кому то повезло, для когото программирование как Хобби.
Pelena, У меня нет времени изучать. Мне срочно нужна эта программа, поэтому я здесь. Мне нужно по работе это. Согласитесь не целесообразно изучать язык программирования ради одного маленького скрипта. Я понимаю звучит может пафoсно, но каждый должен заниматься и быть профессионалом в своём деле. Кому то повезло, для когото программирование как Хобби.Dk100
А я разве предлагаю изучать? Но хотя бы куда вставить код и как его запустить вы должны знать? Нет? С таким подходом Вам больше подойдёт платный раздел форума
По теме: предположим, Вы нажали кнопку Отнять и получили на третьем листе обновленные данные. Что должно происходить дальше? Вы меняете данные на втором листе? Нажимаете кнопку Отнять, откуда отнимаем? Опять из первой или всё же из третьей? Тогда какую роль играет первая?
А я разве предлагаю изучать? Но хотя бы куда вставить код и как его запустить вы должны знать? Нет? С таким подходом Вам больше подойдёт платный раздел форума
По теме: предположим, Вы нажали кнопку Отнять и получили на третьем листе обновленные данные. Что должно происходить дальше? Вы меняете данные на втором листе? Нажимаете кнопку Отнять, откуда отнимаем? Опять из первой или всё же из третьей? Тогда какую роль играет первая?Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
но каждый должен иметь свой кусок хлеба (масло и икра приветствуется) Ложку(нож) вам дали. холодильник показали... Вопрос в студию - почему кто то должен отдать вам свой кусок хлеба, да еще и с икрой и маслом?
У меня нет времени изучать. Мне срочно нужна эта программа, поэтому я здесь. Мне нужно по работе это
Да не вопрос. У меня есть время изучать, но мне не нужно это по работе, и мне не нужна эта программа. Зато мне нужны деньги. Доступно? Для таких целей есть раздел форума "работа"
но каждый должен иметь свой кусок хлеба (масло и икра приветствуется) Ложку(нож) вам дали. холодильник показали... Вопрос в студию - почему кто то должен отдать вам свой кусок хлеба, да еще и с икрой и маслом?
У меня нет времени изучать. Мне срочно нужна эта программа, поэтому я здесь. Мне нужно по работе это
Да не вопрос. У меня есть время изучать, но мне не нужно это по работе, и мне не нужна эта программа. Зато мне нужны деньги. Доступно? Для таких целей есть раздел форума "работа"RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Пятница, 21.11.2014, 00:04
RAN, Если вы не хотите помогать, то вас лично никто не просит. И писать не по теме не нужно.
Холодильник говорите показали? С таким же успехом можно при ремонте машины показать на машину и на инструменты. Я сам программирую на Аутоите и знаю, что подобные скрипты дело 5 минут и денег они не стоят. Но если человек на столько алчный, что везде видит Корку Хлеба с Икрой, то это его выбор. Может кто то сделает другой выбор в отличии от вас. Вам наверно слово Альтруизм не знакомо. Я почему то всегда думал, что именно на этом и держаться в основе своей все Форумы.
RAN, Если вы не хотите помогать, то вас лично никто не просит. И писать не по теме не нужно.
Холодильник говорите показали? С таким же успехом можно при ремонте машины показать на машину и на инструменты. Я сам программирую на Аутоите и знаю, что подобные скрипты дело 5 минут и денег они не стоят. Но если человек на столько алчный, что везде видит Корку Хлеба с Икрой, то это его выбор. Может кто то сделает другой выбор в отличии от вас. Вам наверно слово Альтруизм не знакомо. Я почему то всегда думал, что именно на этом и держаться в основе своей все Форумы.Dk100
Сообщение отредактировал Dk100 - Пятница, 21.11.2014, 00:36
Здравствуйте. Как то я перемудрил, если начать делать задуманное мной, то получится полноценная программа, а это уже перебор. Давайте сделаем просто что бы На листе 2 отнималось то что на листе 3. А лист 1 я буду просто добавлять мануально и мануально добалять в лист 3. Смысл листа 1 был в том, что он только накапливает Артикулы (навсегда), что бы было видно какое кoличество товаров в целом прошло через склад за всё время. А Лист 3 показывает актуальное состояние склада.
На лист 1 Будут добавляться товаты, которые приходят на продажу и на листе 1 они остаются РАЗ И НА ВСЕГДА. Их я буду добавлять мануально. А на Листе 2 будут отниматься товары так как проданы/сломаны или добавлятья так как возврат, а лист 3 будет показывать Актульное состояние склада.
Pelena,
Здравствуйте. Как то я перемудрил, если начать делать задуманное мной, то получится полноценная программа, а это уже перебор. Давайте сделаем просто что бы На листе 2 отнималось то что на листе 3. А лист 1 я буду просто добавлять мануально и мануально добалять в лист 3. Смысл листа 1 был в том, что он только накапливает Артикулы (навсегда), что бы было видно какое кoличество товаров в целом прошло через склад за всё время. А Лист 3 показывает актуальное состояние склада.
На лист 1 Будут добавляться товаты, которые приходят на продажу и на листе 1 они остаются РАЗ И НА ВСЕГДА. Их я буду добавлять мануально. А на Листе 2 будут отниматься товары так как проданы/сломаны или добавлятья так как возврат, а лист 3 будет показывать Актульное состояние склада.Dk100
Сообщение отредактировал Dk100 - Пятница, 21.11.2014, 00:32
Cheshir0067, Спасибо за помощь, но должно быть Две кнопки Добавить и Отнять и они должны находиться на листе 2 (на котором будут указана Артикулы которые нужно отнять или прибавить от листа 1).
Cheshir0067, Спасибо за помощь, но должно быть Две кнопки Добавить и Отнять и они должны находиться на листе 2 (на котором будут указана Артикулы которые нужно отнять или прибавить от листа 1).Dk100