Страницы: 1
RSS
Как сделать формирование заказа из прайса
 
Собственно имеется какой-то прайс с двумя колонками цен и соответственно кол-во заказа и итог.
Нужно сделать чтобы при Нажатии кнопки "Сформировать" создавался новый файл (название файла бралось с ячейки А1+дата на данный момент). В который переносятся только те позиции которые заказывает человек, в конце с итогами по двум колонкам Итог1 и Итог2.
Вот пытался делать, но не все получается. Затуп в названии файла и в том что 2 колонки.
Выкладываю два файла, исходный прайс, и то что я хотел бы видеть на выходе.
 
Файл-результат создается в той же папке, где находится файл с макросом.
Изменено: Karataev - 07.06.2016 11:57:41
 
Karataev, вы сделали почти все, но макрос пропускает некоторые позиции.
Изменено: Алексей Евстратенко - 07.06.2016 15:59:41
 
Алексей Евстратенко, поменяйте в макросе строку на:
Код
For i = 2 To UBound(mass, 1)
 
Алексей Евстратенко, макрос пропускает в файле из поста 2 или в каком-то другом файле? Если в файле из поста 2, то напишите номер строки, которая не скопировалось. Если в другом файле, то тогда нужно посмотреть этот файл.

Zoynels прав, нужно сделать так, как в посте 4.
Изменено: Karataev - 07.06.2016 16:21:39
 
Zoynels, Вроде все работает.
Karataev, Спасибо за помощь, поправил 4 на 2 и все стало работать.
Подскажите как облагородить полученный файл. В том смысле где в коде ввести фиксированные данные организации. Где почитать про коды, которые влияют на форматирование ячеек и текста.?
 
На своем "тестовом" прайсе протестил, не работает. либо из-за того что встречает пустые ячейки, либо из-за чего-то другого. Хотелось бы чтобы колонки от J до O копировались тоже, где пустые, там пусто, где что-то есть, то копировало как есть, конечно при условии что заданно кол-во напротив.
 
Цитата
Алексей Евстратенко написал: либо из-за чего-то другого.
Из-за того, что файл в #7 только издали похож на файл в #1.
 
Чем же он издали похож? По сути же одни и те-же колонки. Только что есть пробелы в строках.
 
Да всего лишь наличием столбца А. И диапазон, в итоге, формируетсяне так, как вы ожидали.
 
Я вроде и код меняю, но не пойму в чем затык.
 
На столбец А зря погрешил, до него не доходит.
Код
Sub test()
    a = Range("B5").CurrentRegion.Rows.Count
    aa = Range("B5").CurrentRegion.Address
End Sub


CurrentRegion + F1 спасет отца русской демократии. :)
 
RAN, из всего этого ничего не понял) куда и что мне вставить) поясните если есть возможность
 
Очередная попытка) Исходный файл, и то что я хочу получить.
В добавлении всего неплохо бы переносить и форматирование ячеек как в исходном, а так все. Название фирмы если можно просто забить в код (оно фиксированное).
 
Поможет кто решить вопрос, или уже не ждать?
 
На листе "Прайс"
Код
Set rng = ThisWorkbook.Worksheets("Прайс").Range("B5").Resize(ThisWorkbook.Worksheets("Прайс").Range("B5").CurrentRegion.Rows.Count, 8)
CurrentRegion определяется не так вы желаете, поскольку в 4-ой строке есть данные.
Видимо об этом вам хотел сказать RAN в сообщении #12.
Прочитайте про CurrentRegion. Попробуйте вставить пустую строку между 4 и 5 строкой и изменить в коде Range("B6")
 
Цитата
Kuzmich написал:
Прочитайте про CurrentRegion. Попробуйте вставить пустую строку между 4 и 5 строкой и изменить в коде Range("B6")
не помогло
 
Замените строку так
Код
Set rng = ThisWorkbook.Worksheets("Прайс").Range(ThisWorkbook.Worksheets("Прайс").Cells(5, "B"), ThisWorkbook.Worksheets("Прайс").Cells(Rows.Count, "B").End(xlUp)).Resize(, 7)

Эта ошибка уйдет.
Не зря в правилах написано "пример, максимально приближенный к реальному"
 
Цитата
RAN написал: Эта ошибка уйдет.
пишет что здесь не правильно
Код
For i = 3 To UBound(mass, 1)
 
кто бы спорил, я не буду
эта ушла?
убирать друие - нужно вникать в код

хотя у меня тут не ругался, ругался дальше.
для устранения этого глюка, возможно, нужно перезапустить Excel.

либо ваш второй пример издали похож на ваш файл.
Изменено: RAN - 08.06.2016 20:59:26
 
Цитата
RAN написал: эта ушла?
этой и не было, просто команда не работает.
Цитата
RAN написал: для устранения этого глюка, возможно, нужно перезапустить Excel.
не помогло

Есть вариант формирования заказа другим образом. Это по кнопочке сформировать, "удаление всех изображений", "скрывание строк с пустым количеством" и сохранение файла с введеным именем+дата. Все это делается для того чтобы минимализировать сам заказ, т.к. прайс имеет много позиций, и при заказе просматривать не всегда удобно.
 
ну, не знаю. у меня чегой-то делает.
отключил сохранение и убрал лишний элемент массива
 
RAN, прикрепите переделанный файл
 
8-0   :D
 
Цитата
Алексей Евстратенко написал:  RAN , прикрепите переделанный файл
Надо полагать, что это просьба ))
 
RAN,Спасибо большое)
Юрий М, конечно)
Изменено: Алексей Евстратенко - 12.06.2016 00:03:25
Страницы: 1
Читают тему
Наверх