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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

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

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

в Module1
Код:

Public xlsRow As Integer
Sub ДобавитьЗапись()
    xlsRow = ActiveCell.Row
    UserForm1.Show
End Sub
в UserForm1
Код:
Private Sub UserForm_Activate()
    If xlsRow > 0 Then
    Me.TextBox1.Value = Cells(xlsRow, 1)
    Me.TextBox2.Text = Cells(xlsRow, 2)
    Me.TextBox3.Text = Cells(xlsRow, 3)
    Me.TextBox4.Text = Cells(xlsRow, 4)
    End If
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.07.2017, 16:13   #3
Kizim
Пользователь
 
Регистрация: 01.07.2017
Сообщений: 17
По умолчанию

[QUOTE=Aleksandr H.;1692298]в Module1
Код:

Public xlsRow As Integer
Sub ДобавитьЗапись()
    xlsRow = ActiveCell.Row
    UserForm1.Show
End Sub
в UserForm1
Код:
Private Sub UserForm_Activate()
    If xlsRow > 0 Then
    Me.TextBox1.Value = Cells(xlsRow, 1)
    Me.TextBox2.Text = Cells(xlsRow, 2)
    Me.TextBox3.Text = Cells(xlsRow, 3)
    Me.TextBox4.Text = Cells(xlsRow, 4)
    End If
End Sub
[/QUOTE

Да - это работает, чудо. Но оно стирает все остальные данные если их не внести заново. А можно, чтоб вызывало форму и в ней уже были внесены данные из строки 2 например. Я меняю один пункт и строка переписывается. Просто в рабочей программе - до 20 пунктов. И каждый раз их переписывать - это небольшая потеря времени. Надо, чтоб при открытии формы она как-бы считывала информацию из, например, строки 2;3;...и т. д.

Последний раз редактировалось Kizim; 25.07.2017 в 16:38.
Kizim вне форума Ответить с цитированием
Старый 27.07.2017, 14:19   #4
Kizim
Пользователь
 
Регистрация: 01.07.2017
Сообщений: 17
По умолчанию

Спасибо большое за помощь.
Kizim вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Outlook: Как открыть сообщение для редактирования через объектную модель Word? vamosss Microsoft Office Word 5 13.02.2017 13:52
Как через ComboxBox открыть 2-ю форму уже созданную ? santafer Общие вопросы Delphi 7 13.03.2016 16:06
Форма для ввода, поиска и редактирования данных в таблице exce ac1-caesar Microsoft Office Excel 21 05.08.2013 15:57
по excel не запускается двойным кликом syrismak Microsoft Office Excel 3 17.05.2011 07:39
Как открыть для редактирования ID3-тэги mp3-файлов? Delphi yourself Мультимедиа в Delphi 2 13.11.2007 02:16