Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19

Организация склада, макрос регистрации поступления пробы

12.01.2017, 03:46. Показов 3133. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

Создаю файл для учета поступивших проб на склад, многое уже сделал, но не дает покоя одна задача.

Есть карточка регистрации и хранения пробы (вкладка "Карточка") после заполнения необходимых полей сохраняем информацию о ней в базе (на что есть специальный макрос и кнопка сохранить).

Все вроде бы ничего, да вот есть идея следующего плана:
1. При нажатии кнопки сохранения, проба вносится в базу, где ей присваивается личный номер который из столбца "А" вкладки "База" переносится в ячейку G5 вкладки "Карточка".
2. При изменении статуса пробы, информация в базе, согласно ее номеру должна измениться.
3. Также есть макрос на очистку карточки (в примере не представлен) после выполнения которого в карточку можно вносить данные о новой пробе и сохраняя информацию она переносится в "Базу" на новую строку (ну, данный макрос уже есть).

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

Пример прилагаю. Он урезан в рамках конкретной задачи.

Заранее очень благодарен! (а то у самого уже голова пухнет)
Вложения
Тип файла: rar Sclad primer.rar (28.1 Кб, 25 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2017, 03:46
Ответы с готовыми решениями:

Организация мини склада
Крутил, мутил вроди получилось, могу добавлять и удалять количество товара, а как сделать чтобы можно было добавлять/удалять новый товар и...

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

Событие поступления заказа в базу данных. Аргументы события включают в себя номер заказа и дату поступления
Реализовать событие с помощью делегата. Реализация - выдача в любом виде (консоль, MessageBox, Label и.т.д.) указанных параметров. Делегат...

31
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 08:56
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Аристафан Посмотреть сообщение
пробы нажимая на нее, у нас открывается относящаяся к ней карточка.
Вот вам пример(делал очень давно и многое можно сделать по другому, но смысл вы поймете) визуализация кинозала по проданным билетам, свободным и занятым местам.
Вложения
Тип файла: zip ЗалФинал.zip (4.69 Мб, 8 просмотров)
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
20.01.2017, 09:29  [ТС]
Виктор Михалыч,

А еще вот что, макрос для фильтрации привязанный на лист "База" он нужен будет, ну может быть не именно он и не именно на этом листе, но так, чтобы можно было отсортировать необходимую информацию.
В дальнейшем планирую сделать так, чтобы например отфильтровал все пробы Васечкина, поставил галочки в строке с пробами, допустим, которые надо удалить и они будут копироваться на другой лист
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 09:45
Можно сделать лист с списком персонала и при сохранении пробы, данные переносились на лист с именем этого лица, если нет такого листа то он создастся и данные будут в любом случае сохранены и не надо никаких сортировок.
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
20.01.2017, 09:50  [ТС]
Цитата Сообщение от Виктор Михалыч Посмотреть сообщение
Можно сделать лист с списком персонала и при сохранении пробы, данные переносились на лист с именем этого лица, если нет такого листа то он создастся и данные будут в любом случае сохранены и не надо никаких сортировок.
Согласен. Просто это инструмент был бы полезен для анализа информации по базе.
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 09:55
Вот вам куча примеров. Подстраивайте под себя что вам нужно и все у вас получится.
Вложения
Тип файла: zip post_52975.zip (351.8 Кб, 11 просмотров)
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
20.01.2017, 10:06  [ТС]
Цитата Сообщение от Виктор Михалыч Посмотреть сообщение
Вот вам куча примеров.
Добрый Вы человек, Виктор Михалыч Спасибо, буду изучать.
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 10:07
Пожалуйста
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
20.01.2017, 10:09  [ТС]
Цитата Сообщение от Виктор Михалыч Посмотреть сообщение
Вот вам пример(делал очень давно и многое можно сделать по другому, но смысл вы поймете) визуализация кинозала по проданным билетам, свободным и занятым местам.
А файлик заблокирован преднамеренно, так, для визуального примера?
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 10:12
Забыл.
Вложения
Тип файла: zip ЗалФинал.zip (4.73 Мб, 10 просмотров)
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
20.01.2017, 10:19  [ТС]
Виктор Михалыч,
Спасибо, классное решение, приму на вооружение
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
20.01.2017, 10:20
Вот вам еще в довесок, вдруг пригодится, сохранение файла по указанному пути в папку с названием года, месяца, с именем файла по датам.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Sub Сохранение()
       Dim год As String
        Dim Месяц As String
        Dim день As String
        Dim Fold As String
        Dim s As String
        Dim Pod As String
        Dim FileNameX As String
        Dim FileNameXls As String
        Dim strPath As String
Path = "G:\ЦССС\ArhiveNew"  'папка с вложениями
Coren = "G:\ЦССС\ArhiveNew"  'корневая папка
     Месяц = Sheets("2см").Range("BQ3").Value            'месяц
     день = Format(Sheets("1см").Range("A4").Value, "dd") 'день
     год = Sheets("2см").Range("BO2").Value              'год
     Fold = Path + год                                   'папка год
     Pod = Fold + "" + Месяц                            'папка месяц
     FileNameX = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "  " & день & "  " & Месяц & "  " & год & ".xlsm" 'имя файла
     strPath = Pod & "" & FileNameX
     FileNameXls = strPath
        'Проверка корневой папки, если есть то сохраняем
If Dir(Path, vbDirectory) <> "" Then
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
    Else
      MkDir Path:=Coren 'создание корневой папки с вложенной папкой год, месяц + сохранение файла
      MkDir Path:=Fold
      MkDir Path:=Pod
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
End If
        'Если есть папка с именем года сохраняем
If Dir(Fold, vbDirectory) <> "" Then
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
    Else
      MkDir Path:=Fold  'создание папки с именем года + сохранение
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
 End If
        'если есть папка с именем месяца, то сохраняем
If Dir(Pod, vbDirectory) <> "" Then
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
    Else
      MkDir Path:=Pod   'создание папки с именем месяца + сохранение
      On Error Resume Next
      s = GetAttr(strPath) And 0
             ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
 End If
End Sub
1
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 19
21.01.2017, 05:32  [ТС]
Цитата Сообщение от Виктор Михалыч Посмотреть сообщение
Вот вам еще в довесок, вдруг пригодится, сохранение файла по указанному пути в папку с названием года, месяца, с именем файла по датам.
Отлично, думаю, что пригодится

Добавлено через 18 часов 51 минуту
Уважаемые форумчане!
Усть вопрос в продолжении темы Организации склада.
Подскажите пожалуйста, можно ли в этом файле сделать, допустим в ячейке E11, будет надпись "Добавить файл" нажимаем, открывается окно, в которой можно перетащить файл и он упадет в заранее подготовленную папку.
Ну типа документы по пробе, которые мы можем посмотреть потом нажав на ячейку E11.
Я просто раньше не видел такой реализации в Excel, думал как решить и возник вопрос: "А возможно ли вообще это реализовать?".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2017, 05:32

Как получить название склада по ID склада?
Добрый день. Подскажите пожалуйста как получить название склада по ID склада? Получаю ID склада (storeid) по заказу: use...

Модифицированный метод наилучшей пробы
Доброго времени суток. Вопросы по моей реализации: 1) Есть ли хоть доля правды в том, что я написал.(правильно ли я понял математику...

Нужно для пробы 5 статей по 700 знаков!
Есть много кого на МТ, но мне нужно чтоб человек был на сайте сегодня, и мог быстро написать, а не в отпуск уехал. Тема о собаках ... ...

Пробы пера: матюки и советы: что криво, на сколько и как лучше?
https://yadi.sk/d/NYakwpbihTNLX тут так сказать результаты проб жду матюков и прочего

Найти точку минимума функции методом случайного поиска с возвратом и наилучшей пробы
Здравствуйте. помогите решить задачку. надо найти точку минимума функции методом случайного поиска с возвратом и наилучшей пробы. функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru