Подскажите, пожалуйста, как в список из нескольких ячеек добавить запись, если заполнены нужные для этого поля. Например заполнено поле id, ФИО, компания в ячейках В1:В3, и по кнопке нужно перенести значения из ячеек В1:В3 в ячейки D, Е, F, G, в первую свободную строку, и плюс в ячейку G добавить заданный текст. И вторая задачка, если id из ячеек B1:B3 есть в списке D, то для строки с этим id в колонку G добавить текст.
после добавления записей очистить ячейки B1:B3
Спасибо
Подскажите, пожалуйста, как в список из нескольких ячеек добавить запись, если заполнены нужные для этого поля. Например заполнено поле id, ФИО, компания в ячейках В1:В3, и по кнопке нужно перенести значения из ячеек В1:В3 в ячейки D, Е, F, G, в первую свободную строку, и плюс в ячейку G добавить заданный текст. И вторая задачка, если id из ячеек B1:B3 есть в списке D, то для строки с этим id в колонку G добавить текст.
А если ID нашлось, а ФИО и/или название не совпадает? Текст для всех одинаковый или его должен вводить пользователь? Если пользователь, то длинный ли текст? Расположение в реальном листе совпадает с примером?
А если ID нашлось, а ФИО и/или название не совпадает? Текст для всех одинаковый или его должен вводить пользователь? Если пользователь, то длинный ли текст? Расположение в реальном листе совпадает с примером?_Boroda_
если id нашлось, то ФИО точно должно совпадать, если не совпадает - это ошибка какая-то текст в первом случае должен быть "добавлен" текст во втором случае должен быть "напечатан"
Расположение списка должно быть на втором листе по факту, т.е. на первом листе на самом деле должно быть так, сканером штрих-кодов должен добавляться id в поле с id и в ячейки с ФИО и компанией должна попадать запись как раз из списка, расположенного на втором листе. И по кнопке в список на втором листе должен добавляться текст.
если id нашлось, то ФИО точно должно совпадать, если не совпадает - это ошибка какая-то текст в первом случае должен быть "добавлен" текст во втором случае должен быть "напечатан"
Расположение списка должно быть на втором листе по факту, т.е. на первом листе на самом деле должно быть так, сканером штрих-кодов должен добавляться id в поле с id и в ячейки с ФИО и компанией должна попадать запись как раз из списка, расположенного на втором листе. И по кнопке в список на втором листе должен добавляться текст.povsten
Поскольку я не знаю, добавление сканером значения вызывает ли событие листа (посмотрите у себя и напишите здесь - от этого зависит метод решения), то заполнение ФИО и компании не стал делать (это касательно вопроса в последующем посте)
Остальное как-то вот так примерно [vba]
Код
Sub per() With Лист2 r0_ = 2 r1_ = .Cells(.Rows.Count, 1).End(3).Row n_ = r1_ - r0_ + 1 On Error Resume Next ооо = Cells(1, 2) r_ = .Columns("A:A").Find(What:=Cells(1, 2), LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Row If Err Then .Cells(r1_ + 1, 1) = Cells(1, 2) .Cells(r1_ + 1, 2) = Cells(3, 2) .Cells(r1_ + 1, 3) = Cells(4, 2) .Cells(r1_ + 1, 4) = "Напечатан" Else .Cells(r_, 4) = "Добавлен" End If End With End Sub
[/vba]
Поскольку я не знаю, добавление сканером значения вызывает ли событие листа (посмотрите у себя и напишите здесь - от этого зависит метод решения), то заполнение ФИО и компании не стал делать (это касательно вопроса в последующем посте)
Остальное как-то вот так примерно [vba]
Код
Sub per() With Лист2 r0_ = 2 r1_ = .Cells(.Rows.Count, 1).End(3).Row n_ = r1_ - r0_ + 1 On Error Resume Next ооо = Cells(1, 2) r_ = .Columns("A:A").Find(What:=Cells(1, 2), LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Row If Err Then .Cells(r1_ + 1, 1) = Cells(1, 2) .Cells(r1_ + 1, 2) = Cells(3, 2) .Cells(r1_ + 1, 3) = Cells(4, 2) .Cells(r1_ + 1, 4) = "Напечатан" Else .Cells(r_, 4) = "Добавлен" End If End With End Sub
Это то что нужно, а подскажите пожалуйста, как на первом листе при вводе в поле id номера сделать, чтобы в ячейках с ФИО и компанией сразу появлялись ФИО и компания из списка на листе 2? Т.е. сканером мы id на первом листе просканировали, и он нам вернул ФИО и компанию со второго листа. Очень благодарна!!!
Это то что нужно, а подскажите пожалуйста, как на первом листе при вводе в поле id номера сделать, чтобы в ячейках с ФИО и компанией сразу появлялись ФИО и компания из списка на листе 2? Т.е. сканером мы id на первом листе просканировали, и он нам вернул ФИО и компанию со второго листа. Очень благодарна!!!povsten
Сообщение отредактировал povsten - Пятница, 12.10.2018, 17:51
Напишите конкретно - "При нажатии на кнопку ааа запускается макрос ххх, после отработки которого нужно, чтобы в ячейках ййй и ццц записывались значения шшш и щщщ"
Мы, конечно и сами при желании найдем, мы ж профессионалы, нам 5 перпендикулярных бесцветных зеленых линий в форме котеночка нарисовать запросто, но тем мне менее...
У Вас в файле 26 макросов. Поиграем в угадайку?
Напишите конкретно - "При нажатии на кнопку ааа запускается макрос ххх, после отработки которого нужно, чтобы в ячейках ййй и ццц записывались значения шшш и щщщ"
Мы, конечно и сами при желании найдем, мы ж профессионалы, нам 5 перпендикулярных бесцветных зеленых линий в форме котеночка нарисовать запросто, но тем мне менее..._Boroda_
Да, поняла, извиняюсь за кривую постановку задачи. Нужно, чтобы при нажатии на кнопку "Добавить" данные из ячеек G4 и B6:B8 данные были перенесены на Лист2 (Список) в одноименные колонки id, компания и ФИО. При этом если id на Листе 1(Бейдж) в ячейке G4 равно id в ячейке A1 на Листе 2, то не нужно на Лист 2 добавлять запись, так как она уже существует. Если id а Листе 1(Бейдж) в ячейке G4 НЕ равно id в ячейке A1 на Листе 2, то нужно добавить запись и в ячейке Е на Листе 2 данной строки добавить текст "Добавлен". При клике на кнопку "Печать" для текущей записи в ячейках G4, B6:B8 добавлять на Лист 2 текст "Напечатан". Т.е. получается каждую напечатанную запись нужно на Листе 2 отметить текстом, что она уже напечатана.
И вот еще очень важное, помогите пожалуйста, при введении вручную цифр в ячейку G4 Листа 1 искать введенные цифры на Листе 2 и если такой id найден в колонке А на Листе 2, то выводить ФИО и компанию на Лист 1 в ячейки B6:B8.
Очень благодарна!
Да, поняла, извиняюсь за кривую постановку задачи. Нужно, чтобы при нажатии на кнопку "Добавить" данные из ячеек G4 и B6:B8 данные были перенесены на Лист2 (Список) в одноименные колонки id, компания и ФИО. При этом если id на Листе 1(Бейдж) в ячейке G4 равно id в ячейке A1 на Листе 2, то не нужно на Лист 2 добавлять запись, так как она уже существует. Если id а Листе 1(Бейдж) в ячейке G4 НЕ равно id в ячейке A1 на Листе 2, то нужно добавить запись и в ячейке Е на Листе 2 данной строки добавить текст "Добавлен". При клике на кнопку "Печать" для текущей записи в ячейках G4, B6:B8 добавлять на Лист 2 текст "Напечатан". Т.е. получается каждую напечатанную запись нужно на Листе 2 отметить текстом, что она уже напечатана.
И вот еще очень важное, помогите пожалуйста, при введении вручную цифр в ячейку G4 Листа 1 искать введенные цифры на Листе 2 и если такой id найден в колонке А на Листе 2, то выводить ФИО и компанию на Лист 1 в ячейки B6:B8.