Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
UserForm данные не добавляются, а перезаписываются, UserForm данные не добавляются, а перезаписываются
 

Добрый день уважаемые форумчане,
Версия ЭКСЕЛЬ 2013 ПРОФЕССИОНАЛЬНЫЙ +

Данные:

Имеется две Таблицы на Листе "2", заполнение Таблиц будет производится путем использования UserForm.

Если нажать кнопку на "СОЗДАТЬ ЗАЯВКУ" на Листе"1",  то выйдет диалоговое окно для заполнения Таблицы2 с Листа "2" (подсвечено синим) в данном окне поле заполняется лишь один раз т.к. данные не будут добавляться (они просто перезаписываются, в случае изменения) поскольку заявку подает одна компания от своего имени, тут работает все как надо.

Если в Диалоговом окне "Форма для ввода данных об организации или ИП, инициирующего подачу заявления на оформление пропуска" нажать кнопку "ДОБАВИТЬ СОТРУДНИКА" то появится следующее Диалоговое окно "Форма для заполнения данными о сотруднике на которого будет оформляться пропуск" данная форма заполняется, однако данные тоже не добавляются, а просто перезаписываются в Таблицу1 с Листа "2" (подсвечено оранжевым). Но данная Таблица (оранжевая), где вносятся данные о ФИО, должности и т.д. должна расти по мере добавления сотрудников, чего к сожалению у меня не происходит, поскольку одна заявка может быть подана на несколько человек.

Задача:

Необходимо сделать так, чтобы данные из диалогового окна "Форма для заполнения данными о сотруднике на которого будет оформляться пропуск" добавлялись в Оранжевую Таблицу с Листа "2", а НЕ ПЕРЕЗАПИСЫВАЛИСЬ!

 
Заменил 5 на 6 и добавил квеличение порядкового номера.
Код
    iRow = .ListObjects("Таблица1").DataBodyRange.Rows.Count + 6
    .Cells(iRow, "b").Value = Cells(iRow - 1, "b").Value + 1
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо, заработало только вот заполняет не с первой строчки, а хотелось бы все таки с первой.
И еще вопрос почему когда жмешь кнопку "ДОБАВИТЬ СОТРУДНИКА" поля не сбрасываются а просто пишешь взамен того что есть, либо добавляешь постоянно одного и того же.
Например заполнил поле ФАМИЛИЯ: Петров и все остальные поля,  нажал "ДОБАВИТЬ СОТРУДНИКА" и Петров добавился в таблицу однако, перед тем как добавить еще одного поля ФАМИЛИЯ ИМЯ и т.д.  не обнулились (т.е. не стали пустыми) а так и остаются заполненными данными о Петрове.
 
потому что MyForm.Hide не очищает форму. Попробуйте Unload MyForm
 
Это понятно, да и проблема то не в MyForm а в MyForm1, но даже если попробовать как вы предлагаете по итогу она вносит данные на первого сотрудника закрывает MyForm1 каждый раз как вносится новый сотрудник и чтобы добавить еще одного приходится опять запускать процедуру, что весьма не удобно.
 
Так?
Код
With MyList
    iRow = .ListObjects("Таблица1").DataBodyRange.Rows.Count + 5
    .Cells(iRow + 1, "b").Value = Cells(iRow, "b").Value + 1
    .Cells(iRow, "C").Value = SurName
    .Cells(iRow, "D").Value = WorkName
    .Cells(iRow, "E").Value = FathersName
    .Cells(iRow, "F").Value = OrgPosition
    .Cells(iRow, "G").Value = BorneDate
    .Cells(iRow, "H").Value = BornePlace
    .Cells(iRow, "I").Value = PassZone
    .Cells(iRow, "J").Value = PassportSeries
    .Cells(iRow, "K").Value = PassportNumber
    .Cells(iRow, "L").Value = PassportDate
    .Cells(iRow, "M").Value = PassportName
    .Cells(iRow, "N").Value = AdressRegister
    .Cells(iRow, "O").Value = AdressResident
End With
Dim cnt As Control
For Each cnt In Me.Controls
    If TypeName(cnt) = "TextBox" Then cnt.Value = ""
Next cnt
"Все гениальное просто, а все простое гениально!!!"
 
Дааааааа 8)  это мега круто спасибо теперь все работает ))  :D  
Страницы: 1
Читают тему (гостей: 1)