Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Генерация уникального номера заказа
 
О да, оно работает! Премного благодарен!!
Генерация уникального номера заказа
 
Максим, спасибо! Однако pdf не наш вариант - часто приходится изменять что-то  в сохраненной копии документа.
Вот к чему я логически пришел, но не могу реализовать, в силу VBA безграмотности..

Генерится случайное число при открытии файла (СЛУЧМЕЖДУ не подходит, потому что выполняется постоянно, а надо - один раз при открытии).
Я не знаю, как это сделать, инфы не нашел, только сложные формулы и выборку из диапазона значений, мне кажется должно быть как то проще... В приложенном файле генерировалось только число по порядку (код стер), это мне не очень подходит - при открытии шаблонного файла, отсчет всегда с нуля.
Результат записывается в ячейку НОМЕР. В контрольную ячейку КОНТРОЛЬ после этого события, записывается 1.

Тоже не знаю, как это сделать - в VBA практически ноль(
В ячейке АГЕНТ хранится текстовая константа - имя агента
В ячейке ДАТА  =СЕГОДНЯ ()
В ячейке Номер заказа =СЦЕПИТЬ(Агент;Номер;"_";ТЕКСТ(R2C2;"ДД\\ММ"  ;)  )
Если КОНТРОЛЬ пустая, то макрос запускается и генерирует номер, если КОНТРОЛЬ = 1, то генерация уже была - ничего не происходит
В ячейку с желаемым результатом я поместил формулу =ЕСЛИ(КОНТРОЛЬ=1;R[-4]C;0),

Файл прилагаю.
Помогите плз)
Генерация уникального номера заказа
 
Цитата
Максим Зеленский пишет: откуда в книге номер заказа, и какой он.
Номер будет генериться генератором случайных чисел+ дата+имя агента, храненением можно пренебречь в принципе, вероятность того, что будет повтор ничтожно мала
Путь к шаблону везде разный - то есть с этим шаблоном работает разные люди на разных компьютерах и пути к расположению файла разные.

Думаю, скорее подойдет первый вариант
Генерация уникального номера заказа
 
Цитата
создайте параллельно текстовый файл, в который макросом и записывайте последний номер, а затем считывайте
Верно, шаблон защищен от изменений на уровне операционной системы. Это означает, что на папку, в которой находится шаблон стоит запрет записи. То есть рядовой пользователь (не администратор) не может ничего записать в эту папку и соответственно внести изменения в шаблонный файл

Разве вот таким образом нельзя сделать?
Цитата
А что если так:
при открытии файла, макрос проверяет есть ли данные в ячейке "номер заказа", если ячейка пуста - то записывает в нее результат выполнения формулы
=СЦЕПИТЬ(R1C2;"_";ТЕКСТ(R2C2;"ДД\\ММ")
Если ячейка не пуста (а значит это уже сохраненная копия), то макрос просто не выполняется и номер остается цел.
Генерация уникального номера заказа
 
Цитата
потому что шаблон защищен от изменений :) и хранить последний номер негде, похоже. Хотя, если всё так серьезно, я бы реестр вел в отдельном скрытом файле, там можно было бы и проверять.
Верно, шаблон защищен от изменений на уровне операционной системы. Номер в нем хранить негде.
Шаблон формат .xls
Генерация уникального номера заказа
 
Максим Зеленский, Да , все верно вы описываете, так и должно быть .  Вероятность создания одинакового номера заказа ничтожно мала, хранением истории можно пренебречь.
Сейчас вставил ваш код в эталонный файл - шаблон , и у него отключились макросы, а в шаблоне они мне нужны однако.
Генерация уникального номера заказа
 
Эталонный файл нельзя сохранить, можно сохранить только его копию. При открытии эталонного файла формируется номер заказа и этот номер сохраняется в копии файла. Вместе с макросом. При открытии сохраненной копии макрос проверяется наличие в ячейке номера и не генерирует номер, а просто бездействует.
При открытии эталонного файла - ячейка всегда пустая, потому что мы его не имеем права сохранить, поэтому каждый раз происходит генерация нового номера заказа.
Генерация уникального номера заказа
 
Сохранить как не годится, с файлом работают разные люди, надо исключить возможность неправильного сохранения.

Забыл сообщить важное условие, которое рушит первоначальное :
Эталонный файл не подлежит изменению, то есть стоит запрет на его изменение на уровне файловой системы.
Поэтому для генерации номера заказа надо использовать не счетчик, а генератор случайных чисел например и прибавлять к нему дату и текст. Но это не проблема. Проблема в том, чтобы этот номер закрепился за каждой новой копией эталонного файла и я подумал,
А что если так:
при открытии файла, макрос проверяет есть ли данные в ячейке "номер заказа", если ячейка пуста - то записывает в нее результат выполнения формулы
=СЦЕПИТЬ(R1C2;"_";ТЕКСТ(R2C2;"ДД\\ММ")
Если ячейка не пуста (а значит это уже сохраненная копия), то макрос просто не выполняется и номер остается цел.

Только в vba я не смыслю ничего практически, помогите, а?)
Генерация уникального номера заказа
 
Макросы там используются, но возможно в дальнейшем они не понадобятся. Как осуществить сохранение файлов без макросов? Сохраняется именно копия файла, но копия за собой макросы тянет
Генерация уникального номера заказа
 
За сцепку - спасибо, сработало, осталось самое главное )
Изменено: cooly - 12.08.2014 16:21:48
Генерация уникального номера заказа
 
При первом открытии эталонного файла, должен генерироваться уникальный номер заказа, затем сохраняем копию этого файла - этот номер должен присвоиться копии файла и при последующих его открытиях не изменяться. А при повторном открытии эталонного файла - процесс повторяется - увеличивается счетчик - сохраняем копию файла с уникальным номером.
Генерация уникального номера заказа
 
Добрый день!
Прошу помощи, у меня немного тривиальная, но с особенностью задача:

При открытии исходного файла (эталонный бланк заказа), необходимо генерировать уникальный номер заказа, состоящий из данных трех ячеек : ИМЯКомпании_НомерЗаказа_Дата, то есть примерно так : МегаТрейд_01_12/08/14
Наименование компании - константа в ячейке
Счетчик - при открытии файла прибавляет цифру 1 в ячейке

1. Счетчик срабатывает при каждом открытии файла, а мне необходимо, чтобы номер создался, затем я сохраняю копию эталонного файла с помощью Сохранить как, и при повторном открытии копий файлов уникальный номер, присвоенный файлу не изменялся.
2. Не получается прикрепить дату в нужном виде к функции СЦЕПИТЬ, понимаю, что формат данных разный, но как привести к общему виду?

Пример файла прикрепил.
Доработка файла "Склад", Доработка таблицы с остатками продукции на складе багетной мастерской в соответсвии с тз
 
Не этой, но принцип тот же. ни что не мешает, задача в глобальном смысле в другом состоит, но спасибо за совет)
Доработка файла "Склад", Доработка таблицы с остатками продукции на складе багетной мастерской в соответсвии с тз
 
Добрый день!

Необходима доработка файла склад:

- изображения товаров я заливал с помощью какой то надстройки, не помню ее название. Однако ассортимент иногда меняется. Можно ли настроить импорт каталогов на листы из определенной папки на диске компьютера? Если это трудоемко - то не надо,

комментарии по поводу самого файла:
-лист "подрамник" - тут хранится информация об остатках подрамника. Он есть двух видов модульный и в рейках.

Каждый из видов имеет артикулы, которым соответствует сечение , соответствие в листе списки
20-10-12П-2
25-10-12П-25
30-15-18П-3
и т.д.


Смысл работы файла - человек добавляет или удаляет позицию на склад путем ввода (выбора) размера, количества, артикула (сечение подтягивается самостоятельно) По умолчанию должно оставаться последний введенный на склад артикул
Поиск организовать по первым  вводимым символам.

- Лист "паспарту". То же самое - учет картона для паспарту на складе. Остатки по каждому артикулу видим в выпадающем списке. Приход материала путем ввода ширины и высоты - добавляется позиция в базу. Удаляется путем выбора позиции и кнопки удалить.

- Лист BELLA CORNICE и остальные листы по аналогии.
Остаток на складе - можно просмотреть в сантиметрах (сумма всех введенных данных) или в рейках (выпадающий список ячейка С1). 1 рейка = 290 см (указано в листе "списки"  Добавление или удаление позиции происходит путем выбора рейка или в сантиметрах (выпадающие списки D1 E1) Соответственно прибавляется или вычитается из общей суммы остатка.
Поиск организовать по первым  вводимым символам.


Если у Вас будут какие то идеи по оптимизации данного файла, буду рад их рассмотреть, поскольку мое взгляд на ведение складского учета может быть не очень профессиональным.

Жду ваших предложений.

Файл yadi.sk/d/VBRXf5bcYRoGL

С уважением,
Евгений
Подстановка значений из еще не созданных файлов, Требуется сбор данных из появляющихся в директории списка однотипных файлов
 
2 Nic70y - Спасибо! Макрос работает, список файлов имеющихся в директории появляется, не могу понять, как подставить в сводный файл правильный адрес ячейки , все время ошибку выдает - неверная формула. Будьте добры на моем примере показать?)
Подстановка значений из еще не созданных файлов, Требуется сбор данных из появляющихся в директории списка однотипных файлов
 
Простите за невежество, с макросами мало знаком, поясните на примере пожалуйста, как его использовать :oops:
Подстановка значений из еще не созданных файлов, Требуется сбор данных из появляющихся в директории списка однотипных файлов
 
Добрый день!
В определенной директории, например c:\excel\ существует список однотипных файлов с разными названиями, например file1.xls, file2.xls, ... т.д.
Задача - собрать в отдельном файле svod.xls построчно определенные значения из появляющихся в этой директории одинаковых по строению, но разных по названию и наполнению файлов. То есть - появился новый файл в директории c:\excel\ - в файл svod.xls записалась строка с сылками на значения из этого файла.
Прилагаю пример файлов уже существующих в этой директории, тут проблем не возникает, а как быть при вновь создаваемых файлах? Возможно ли добавление новых строк в сводный файл при появлении file3.xls?

P.S. Названия вновь создаваемых файлов заранее не известны, поэтому спрогнозировать слудующую формулу просто так невозвможно.
Изменено: cooly - 04.05.2014 11:09:06
Почему функция "ЕСЛИ" не работает с промежутками и как её заменить?
 
Здравствуйте!  
Помогите решить простейшую задачу, поставившую меня в тупик:  
 
Имеется столбец с товарами(яблоки,груши, ананасы), соответствующий столбец с ценой.  
Задача: при вводе в определенную пустую ячейку значения, вывести результат принадлежности вводимого значения списку товаров.  
Использую функцию =ЕСЛИ(A1=C1:C3;"в наличии";"нет в наличии"), но результат верный только при совпадении введенного значения с первой ячейкой диапазона.  
 
Файл прикрепляю.  
 
Заранее спасибо!
Страницы: 1
Наверх