Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2017, 12:25   #1
Kizim
Пользователь
 
Регистрация: 01.07.2017
Сообщений: 17
По умолчанию как сделать так, чтоб при открытии формы она считывала информацию из строки

Помогите решить задачу. Есть программа с уже введёнными данными. Нужно внести изменение в уже имеющиеся данные в строках. Для этого столбец =Е= Двойным кликом вызывает форму для ввода данных. Но она открывается пустой и все данные нужно переписывать заново. А можно сделать так , чтоб при открытии формы - она считывала уже имеющиеся данные в нужной строке. Мы вносили одно изменение и строка переписывалась со всеми данными. Встроенная форма в Ексель не подходит, так как в моей программе ввод данных полностью автоматизирован и используются одинаковые шаблоны слов для ввода данных. Помогите пожалуйста....
Вложения
Тип файла: xls Двойной клик на столбце Е.xls (349.0 Кб, 22 просмотров)
Kizim вне форума Ответить с цитированием
Старый 27.07.2017, 12:51   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

тебе ж в другой теме показал как сделать.

Цитата:
Сообщение от Kizim Посмотреть сообщение
А можно сделать так , чтоб при открытии формы - она считывала уже имеющиеся данные в нужной строке.
Код:
Private Sub UserForm_Initialize()
    Me.TextBox1 = ActiveSheet.Cells(ActiveCell.Row, 1)
    Me.TextBox2 = ActiveSheet.Cells(ActiveCell.Row, 2)
    Me.TextBox3 = ActiveSheet.Cells(ActiveCell.Row, 3)
    Me.TextBox4 = ActiveSheet.Cells(ActiveCell.Row, 4)
End Sub
Цитата:
Мы вносили одно изменение и строка переписывалась со всеми данными.
Код:
Private Sub CommandButton1_Click()
    Dim iLastRow As Long
    iLastRow = ActiveCell.Row
    Cells(iLastRow, 1) = Me.TextBox1
    Cells(iLastRow, 2) = Me.TextBox2
    Cells(iLastRow, 3) = Me.TextBox3
    Cells(iLastRow, 4) = Me.TextBox4
    Me.TextBox1 = ""
    Me.TextBox2 = ""
    Me.TextBox3 = ""
    Me.TextBox4 = ""
    MsgBox "Добавлено!", vbInformation, "Введено"
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 27.07.2017, 13:03   #3
Kizim
Пользователь
 
Регистрация: 01.07.2017
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение


Код:
Private Sub UserForm_Initialize()
    Me.TextBox1 = ActiveSheet.Cells(ActiveCell.Row, 1)
    Me.TextBox2 = ActiveSheet.Cells(ActiveCell.Row, 2)
    Me.TextBox3 = ActiveSheet.Cells(ActiveCell.Row, 3)
    Me.TextBox4 = ActiveSheet.Cells(ActiveCell.Row, 4)
End Sub

Код:
Private Sub CommandButton1_Click()
    Dim iLastRow As Long
    iLastRow = ActiveCell.Row
    Cells(iLastRow, 1) = Me.TextBox1
    Cells(iLastRow, 2) = Me.TextBox2
    Cells(iLastRow, 3) = Me.TextBox3
    Cells(iLastRow, 4) = Me.TextBox4
    Me.TextBox1 = ""
    Me.TextBox2 = ""
    Me.TextBox3 = ""
    Me.TextBox4 = ""
    MsgBox "Добавлено!", vbInformation, "Введено"
End Sub
Спасибо огромное. Понял где ошибся. Всё идеально работает.
Kizim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При протягивании значений, как сделать так чтоб временно не срабатывала процедура Worksheet_SelectionChange? RISagitov Microsoft Office Excel 9 20.10.2015 13:10
Как сделать так чтоб при запуске программы сразу показывалась не одна форма а две либо больше? Jleksern Общие вопросы Delphi 4 19.01.2012 18:55
JQuery! Анимация, Как увеличить картинку так, чтоб она не смещалась? AlienNation JavaScript, Ajax 2 05.10.2011 00:38
как сделать так чтоб моя прога при запуске о.с. стартовала steck Общие вопросы Delphi 11 03.04.2007 20:10
как сделать так чтобы при открытии второй формы олько она была активной doncova1 Общие вопросы Delphi 2 03.02.2007 19:34