Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Организация склада, макрос регистрации проб - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Организация склада, макрос регистрации проб (Макросы/Sub)
Организация склада, макрос регистрации проб
Булат Дата: Пятница, 20.01.2017, 05:35 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток!
Дамы и господа прошу помочь доработать макросы или возможно у Вас найдутся другие свежие идеи.
Есть файл по организации склада хранения проб, пробы хранятся на стеллажах, у каждого стеллажа есть своя «карточка хранения пробы», также на одном стеллаже может быть не одна проба.
Заполнив «карточку» по новой пробе нажимаем «сохранить» срабатывает макрос записи пробы в таблицу листа «База» ища последнюю строчку и присваивая пробе индивидуальный порядковый номер (можно заменить на генератор или шифр любого плана, не принципиально, главное, чтобы потом не повторился).
Далее, допустим, для пробы изменился статус или поменялось место хранения, вносим изменения в карточку и нажимаем «сохранить», далее согласно индивидуальному номеру, который указывается в ячейке G5 данной карточки, на листе «База» находится строка (макросом, он есть) с данными о пробе и производится замена измененных данных.
Макросы для внесения или изменения данных по карточкам постарался сделать «безликими», так как их, вероятно, будет очень много и плодить макросы с привязкой к каждой новой карточке мне кажется не правильным.
Остались не решенные вопросы:
1. Внесение номера новой пробы в карточку, при создании ее на листе «База».
2. Если добавляем номер в ячейку G5 (любая из карточек) и нажимаем сохранить, через диалоговое окно «Сохранить изменения?», если нажимаем «Ок» запускается макрос на внесение изменений в листе «База», однако при нажатии «Отмена», выдает сообщение «Такого номера пробы нет!» - необходимо, чтобы данное сообщение выводилось только в случае, если реально ее нет в базе при этом мы оставались на этом активном листе (какой-либо из карточек, сейчас перебрасывает в «Базу»).
3. Если добавляем номер в ячейку G5 (любая из карточек) и нажимаем сохранить, через диалоговое окно «Сохранить изменения?», если нажимаем «Ок» запускается макрос на внесение изменений в листе «База». Необходимо, чтобы мы оставались на активном листе (какой-либо из карточек, сейчас перебрасывает в «Базу»).
4. Необходимо, чтобы при внесении изменений через карточку по уже имеющемуся номеру, замене подлежали не только данные окна «Статус», но и все остальные значения, так сказать обновлялись. (просто предвосхищаю возникновение будущих задач, в которых понадобиться менять и эти значения).

Заранее все откликнувшимся, низкий поклон.
 
Ответить
СообщениеДоброго времени суток!
Дамы и господа прошу помочь доработать макросы или возможно у Вас найдутся другие свежие идеи.
Есть файл по организации склада хранения проб, пробы хранятся на стеллажах, у каждого стеллажа есть своя «карточка хранения пробы», также на одном стеллаже может быть не одна проба.
Заполнив «карточку» по новой пробе нажимаем «сохранить» срабатывает макрос записи пробы в таблицу листа «База» ища последнюю строчку и присваивая пробе индивидуальный порядковый номер (можно заменить на генератор или шифр любого плана, не принципиально, главное, чтобы потом не повторился).
Далее, допустим, для пробы изменился статус или поменялось место хранения, вносим изменения в карточку и нажимаем «сохранить», далее согласно индивидуальному номеру, который указывается в ячейке G5 данной карточки, на листе «База» находится строка (макросом, он есть) с данными о пробе и производится замена измененных данных.
Макросы для внесения или изменения данных по карточкам постарался сделать «безликими», так как их, вероятно, будет очень много и плодить макросы с привязкой к каждой новой карточке мне кажется не правильным.
Остались не решенные вопросы:
1. Внесение номера новой пробы в карточку, при создании ее на листе «База».
2. Если добавляем номер в ячейку G5 (любая из карточек) и нажимаем сохранить, через диалоговое окно «Сохранить изменения?», если нажимаем «Ок» запускается макрос на внесение изменений в листе «База», однако при нажатии «Отмена», выдает сообщение «Такого номера пробы нет!» - необходимо, чтобы данное сообщение выводилось только в случае, если реально ее нет в базе при этом мы оставались на этом активном листе (какой-либо из карточек, сейчас перебрасывает в «Базу»).
3. Если добавляем номер в ячейку G5 (любая из карточек) и нажимаем сохранить, через диалоговое окно «Сохранить изменения?», если нажимаем «Ок» запускается макрос на внесение изменений в листе «База». Необходимо, чтобы мы оставались на активном листе (какой-либо из карточек, сейчас перебрасывает в «Базу»).
4. Необходимо, чтобы при внесении изменений через карточку по уже имеющемуся номеру, замене подлежали не только данные окна «Статус», но и все остальные значения, так сказать обновлялись. (просто предвосхищаю возникновение будущих задач, в которых понадобиться менять и эти значения).

Заранее все откликнувшимся, низкий поклон.

Автор - Булат
Дата добавления - 20.01.2017 в 05:35
китин Дата: Пятница, 20.01.2017, 07:19 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Есть файл

нет файла


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
Есть файл

нет файла

Автор - китин
Дата добавления - 20.01.2017 в 07:19
Булат Дата: Пятница, 20.01.2017, 10:14 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Странно %) , пробую еще раз
К сообщению приложен файл: Sclad.rar (49.5 Kb)
 
Ответить
СообщениеСтранно %) , пробую еще раз

Автор - Булат
Дата добавления - 20.01.2017 в 10:14
nilem Дата: Пятница, 20.01.2017, 10:40 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
[offtop]"Есть файл по организации склада хранения проб, пробы хранятся на стеллажах"
Вы не из WADA случайно? :)[/offtop]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение[offtop]"Есть файл по организации склада хранения проб, пробы хранятся на стеллажах"
Вы не из WADA случайно? :)[/offtop]

Автор - nilem
Дата добавления - 20.01.2017 в 10:40
Булат Дата: Пятница, 20.01.2017, 10:50 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013

lol lol lol

Нет
 
Ответить
Сообщение
lol lol lol

Нет

Автор - Булат
Дата добавления - 20.01.2017 в 10:50
nilem Дата: Пятница, 20.01.2017, 11:08 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Нет

наш человек )
тогда попробуйте вот так:
[vba]
Код
Sub ertert()
Dim r As Range, nKart&, arr
nKart = Range("G5").Value
'Порядковыйномер Значение1 Значение2 Значение3 Значение4 Ответсвенный Статус Территорияхранения Место№
If nKart > 0 Then
    arr = Array(nKart, [d9], [d7], [e11], [e16], [f14], [e19], [e21], [e23])
    Set r = Sheets("База").Columns(1).Find(nKart, LookIn:=xlValues, lookat:=xlWhole)
    If r Is Nothing Then
        If MsgBox("Такого номера в базе нет" & vbCrLf & "Делаем новую запись?", 36) = vbNo Then Exit Sub
        Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
    Else
        If MsgBox("Хотите изменить запись № " & nKart & "?", 36) = vbNo Then Exit Sub
        r.Resize(, 9).Value = arr
    End If
Else
    With Sheets("База")
        nKart = WorksheetFunction.Max(.Range("A9", .Cells(Rows.Count, 1).End(xlUp)(2, 1))) + 1
    End With
    arr = Array(nKart, [d9], [d7], [e11], [e16], [f14], [e19], [e21], [e23])

    If MsgBox("Создаем запись № " & nKart & "?", 36) = vbNo Then Exit Sub
    Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
End If
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
Нет

наш человек )
тогда попробуйте вот так:
[vba]
Код
Sub ertert()
Dim r As Range, nKart&, arr
nKart = Range("G5").Value
'Порядковыйномер Значение1 Значение2 Значение3 Значение4 Ответсвенный Статус Территорияхранения Место№
If nKart > 0 Then
    arr = Array(nKart, [d9], [d7], [e11], [e16], [f14], [e19], [e21], [e23])
    Set r = Sheets("База").Columns(1).Find(nKart, LookIn:=xlValues, lookat:=xlWhole)
    If r Is Nothing Then
        If MsgBox("Такого номера в базе нет" & vbCrLf & "Делаем новую запись?", 36) = vbNo Then Exit Sub
        Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
    Else
        If MsgBox("Хотите изменить запись № " & nKart & "?", 36) = vbNo Then Exit Sub
        r.Resize(, 9).Value = arr
    End If
Else
    With Sheets("База")
        nKart = WorksheetFunction.Max(.Range("A9", .Cells(Rows.Count, 1).End(xlUp)(2, 1))) + 1
    End With
    arr = Array(nKart, [d9], [d7], [e11], [e16], [f14], [e19], [e21], [e23])

    If MsgBox("Создаем запись № " & nKart & "?", 36) = vbNo Then Exit Sub
    Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
End If
End Sub
[/vba]

Автор - nilem
Дата добавления - 20.01.2017 в 11:08
Булат Дата: Пятница, 20.01.2017, 11:49 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem,

Шикарная штука!!! Все работает и при этом все остальное тоже работает!
nilem, про таких людей как Вы говорят, что у этого человека голова не только чтобы в нее есть. Светлая голова!!!
Премного благодарен respect

А вот при новой записи, можно, чтобы ее номер появлялся в ячейке G5?
 
Ответить
Сообщениеnilem,

Шикарная штука!!! Все работает и при этом все остальное тоже работает!
nilem, про таких людей как Вы говорят, что у этого человека голова не только чтобы в нее есть. Светлая голова!!!
Премного благодарен respect

А вот при новой записи, можно, чтобы ее номер появлялся в ячейке G5?

Автор - Булат
Дата добавления - 20.01.2017 в 11:49
nilem Дата: Пятница, 20.01.2017, 11:52 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот сюда можно добавить:
[vba]
Код
...
Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
Range("G5").Value = nKart 'эту строку добавляем
End If
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот сюда можно добавить:
[vba]
Код
...
Sheets("База").Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 9).Value = arr
Range("G5").Value = nKart 'эту строку добавляем
End If
End Sub
[/vba]

Автор - nilem
Дата добавления - 20.01.2017 в 11:52
Булат Дата: Пятница, 20.01.2017, 11:59 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem,

Великолепно!!!

Огромное спасибо :D
 
Ответить
Сообщениеnilem,

Великолепно!!!

Огромное спасибо :D

Автор - Булат
Дата добавления - 20.01.2017 в 11:59
Булат Дата: Суббота, 21.01.2017, 05:30 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Уважаемые форумчане!
Есть вопрос в продолжении темы Организации склада.
Подскажите пожалуйста, можно ли в этом файле сделать, допустим в ячейке E11, будет надпись "Добавить файл" нажимаем, открывается окно, в которой можно перетащить файл и он упадет в заранее подготовленную папку.
Ну типа документы по пробе, которые мы можем посмотреть потом нажав на ячейку E11.
Я просто раньше не видел такой реализации в Excel, думал как решить и возник вопрос: "А возможно ли вообще это реализовать?".


Сообщение отредактировал Булат - Суббота, 21.01.2017, 05:51
 
Ответить
СообщениеУважаемые форумчане!
Есть вопрос в продолжении темы Организации склада.
Подскажите пожалуйста, можно ли в этом файле сделать, допустим в ячейке E11, будет надпись "Добавить файл" нажимаем, открывается окно, в которой можно перетащить файл и он упадет в заранее подготовленную папку.
Ну типа документы по пробе, которые мы можем посмотреть потом нажав на ячейку E11.
Я просто раньше не видел такой реализации в Excel, думал как решить и возник вопрос: "А возможно ли вообще это реализовать?".

Автор - Булат
Дата добавления - 21.01.2017 в 05:30
Булат Дата: Суббота, 21.01.2017, 05:50 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Уважаемые форумчане!
Есть вопрос в продолжении темы Организации склада.


Уважаемый, nilem! И возможно-ли будет копировать эту ссылку в информацию о пробе во вкладке "База"?


Сообщение отредактировал Булат - Суббота, 21.01.2017, 05:51
 
Ответить
Сообщение
Уважаемые форумчане!
Есть вопрос в продолжении темы Организации склада.


Уважаемый, nilem! И возможно-ли будет копировать эту ссылку в информацию о пробе во вкладке "База"?

Автор - Булат
Дата добавления - 21.01.2017 в 05:50
nilem Дата: Суббота, 21.01.2017, 07:43 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Просто добавьте в массив еще один элемент, например значение из ячейки А100
[vba]
Код
arr = Array(nKart, [d9], ... , [e23], [a100])
[/vba]
а на листе База нужно увеличить место под под этот массив: вместо .Resize(, 9) пишем .Resize(, 10)

Про Добавить файл, - наверное это другая тема?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПросто добавьте в массив еще один элемент, например значение из ячейки А100
[vba]
Код
arr = Array(nKart, [d9], ... , [e23], [a100])
[/vba]
а на листе База нужно увеличить место под под этот массив: вместо .Resize(, 9) пишем .Resize(, 10)

Про Добавить файл, - наверное это другая тема?

Автор - nilem
Дата добавления - 21.01.2017 в 07:43
Булат Дата: Суббота, 21.01.2017, 08:07 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Просто добавьте в массив


Да, спасибо, с этим я сразу разобрался, там по проекту будет много строк.
Возможно коряво выразился, имел ввиду можно ли скопировать из ячейки "Карточки" в ячейку "База" не значение, а допустим ссылку.
 
Ответить
Сообщение
Просто добавьте в массив


Да, спасибо, с этим я сразу разобрался, там по проекту будет много строк.
Возможно коряво выразился, имел ввиду можно ли скопировать из ячейки "Карточки" в ячейку "База" не значение, а допустим ссылку.

Автор - Булат
Дата добавления - 21.01.2017 в 08:07
Булат Дата: Суббота, 21.01.2017, 08:10 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Про Добавить файл, - наверное это другая тема?


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


Насчет этого не знаю даже, вроде ка подходит по теме, ведь всеми этими манипуляциями мы и организовываем склад.
Просто не стал нагружать стартовое сообщение в теме.
Извиняйте, если что.

Автор - Булат
Дата добавления - 21.01.2017 в 08:10
Pelena Дата: Суббота, 21.01.2017, 09:57 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4418 ±
Замечаний: ±

Excel 365 & Mac Excel
Про Добавить файл, - наверное это другая тема

Абсолютно верно.
Эта тема про "макрос регистрации проб"


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
Про Добавить файл, - наверное это другая тема

Абсолютно верно.
Эта тема про "макрос регистрации проб"

Автор - Pelena
Дата добавления - 21.01.2017 в 09:57
Булат Дата: Вторник, 24.01.2017, 12:07 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Уважаемый, nilem, помогите пожалуйста с вашим чудесным кодом :D
Можно ли его модернизировать, чтобы из ячеек можно было копировать не только значения, а еще формулы и гиперссылки.
Например из E11 формула, из E16 гиперссылка, остальные значением.
Спасибо!
 
Ответить
СообщениеУважаемый, nilem, помогите пожалуйста с вашим чудесным кодом :D
Можно ли его модернизировать, чтобы из ячеек можно было копировать не только значения, а еще формулы и гиперссылки.
Например из E11 формула, из E16 гиперссылка, остальные значением.
Спасибо!

Автор - Булат
Дата добавления - 24.01.2017 в 12:07
Булат Дата: Пятница, 27.01.2017, 04:29 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Дорогие форумчане!
Все кто также может помочь в решении данного вопроса, прошу откликнуться.
Буду очень признателен в оказанном содействии :D


Сообщение отредактировал Булат - Пятница, 27.01.2017, 15:09
 
Ответить
СообщениеДорогие форумчане!
Все кто также может помочь в решении данного вопроса, прошу откликнуться.
Буду очень признателен в оказанном содействии :D

Автор - Булат
Дата добавления - 27.01.2017 в 04:29
Булат Дата: Суббота, 28.01.2017, 04:43 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
а еще формулы и гиперссылки.


С формулами разобрался :) Осталась гиперссылка %)
К сообщению приложен файл: Sclad2.rar (47.0 Kb)
 
Ответить
Сообщение
а еще формулы и гиперссылки.


С формулами разобрался :) Осталась гиперссылка %)

Автор - Булат
Дата добавления - 28.01.2017 в 04:43
nilem Дата: Суббота, 28.01.2017, 07:04 | Сообщение № 19
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
ну разве что копировать ячейку, попробуйте

Видите какой некрасивый код из-за копирования? Ужс :)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениену разве что копировать ячейку, попробуйте

Видите какой некрасивый код из-за копирования? Ужс :)

Автор - nilem
Дата добавления - 28.01.2017 в 07:04
Булат Дата: Суббота, 28.01.2017, 07:37 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, nilem!
некрасивый код

Шикарный код first
Цель достигается как надо thumb
Все 163 человека посетившие пост, ждали Вашего ответа :D

Спасибо!

Считаю тему на этом Закрытой!
 
Ответить
СообщениеЗдравствуйте, nilem!
некрасивый код

Шикарный код first
Цель достигается как надо thumb
Все 163 человека посетившие пост, ждали Вашего ответа :D

Спасибо!

Считаю тему на этом Закрытой!

Автор - Булат
Дата добавления - 28.01.2017 в 07:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Организация склада, макрос регистрации проб (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!