Страницы: 1
RSS
VBA Userform. Как сохранить изменения в форме?, VBA Userform. Как сохранить изменения в форме?
 

Доброго времени суток, Уважаемые форумчане!

Прошу Вашей помощи

    Имеется форма для ввода/изменения данных в таблице. В "ПОИСК" - вводим номер заявки. Форма заполняется данными.

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

Заранее благодарю!!!

 
Напишите (в 2 местах) вместо Unload ...

Код
Me.Hide
Владимир
 
Владимир, спасибо за ответ.

Заменила, ни чего не получилось.
выдает ошибку в этой строке i = lblRow.Caption
 
напишите макрос Сохранить форму и... сохранейте с его помощью
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
atl написал:
выдает ошибку в этой строке i = lblRow.Caption
а что в этот момент в lblRow.Caption не пробовали смотреть? У Вас вот это событие Private Sub UserForm1_Initialize() никогда не сработает, т.к. такого нет. Надо писать просто Private Sub UserForm_Initialize(). И вообще замените это событие на UserForm_activate, тогда при условии, что Вы создадите все нужные элементы(например, "поиск") - все заработает.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Добрый день. спасибо за ответы и советы.
во что получилось. (Файл во вложении)

При сохранении формы, данные из формы заполняют первую строку в таблице.
Необходимо, чтобы значения заполняли ту строку, в какой находится редактированная заявка.
например : При редактировании/заполнении Заявка № 362 при нажатии кнопки "Сохранить" данные должны сохраняться в ячейках "E4"  и    "F4".

Очень Вас прошу -  помогите мне исправить ошибку в коде. (В VBA ни чего не понимаю)

Код
Private Sub CommandButton1_Click()

doNoChange = True

Set cell = Cells(1, 1)
cell.Offset(0, 1) = CDbl(TextBox1)
cell.Offset(0, 5) = ComboBox2.Value
cell.Offset(0, 4) = ComboBox3.Value

TextBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""

TextBox1.SetFocus
Unload Me
doNoChange = False
End Sub
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
замените это событие на UserForm_activate
Пробовали? Если пробовали и не получилось, покажите в файле как пробовали
 
Добрый вечер, Игорь

Да, пробовала, не получилось, ошибка в той же строке :  i = lblRow.Caption

Код
Private Sub UserForm_Activate()
With ComboBox8
.RowSource = "B2:B500"
End With

 i = lblRow.CaptionEnd Sub
файл во вложении
 
А вам не кажется, что найти подпись того, чего нет, проблематично не только для макроса?
 
Цитата
atl написал:
Да, пробовала, не получилось
а прочитать полностью мое сообщение получилось? Я же написал - НЕТ у Вас половины элементов, используемых в коде. Вы код-то откуда взяли со своей формой?
Перейдите в редактор формы и раскройте сверху слева раскрывающийся список(это список всех элементов, которые созданы на форме). Попробуйте найти там lblRow.
Или можете поочередно на каждый элемент на форме щелкать и в свойствах смотреть его имя - не найдете такой.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я КАПИТУЛИРУЮ,
не хватает ни знаний, ни умения.

Уважаемый Модератор,
прошу перенести данную тему в раздел "РАБОТА"
 
atl, Ну давайте попробуем.
Мои контакты в профиле
Изменено: Михаил Витальевич С. - 08.09.2020 18:22:05
 
Задача интересная, но для меня непосильная :(  - слишком большой объем информации
 
ОК. М.б. я попробую? Пишу в личку...
Пропал заказчик куда-то...
Оплату получил. Работу выполнил и результат отправил заказчику.
Изменено: Михаил Лебедев - 22.09.2020 07:43:48
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Добрый день, Михаил

Я уже на месте.
сейчас отпишусь в личку.
Страницы: 1
Наверх