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

Помогите разобраться с формой, пытаюсь сделать в форме отображение значения на основе Введенного значения.
Допустим ввожу - 1
Должно отобразится - 12.08.2018
Файлик для примера прикладываю.

P.S.
Мне нужно понять принцип как это в VBA прописывается, ведь то что я описал это просто функция ВПР
Изменено: alextlt - 17 Апр 2018 10:31:04
 
Добрый день. Как вариант:
Код
Private Sub TextBox1_Change()
    On Error Resume Next
    TextBox2.Value = Format(Application.VLookup(Int(TextBox1.Value), Sheets("Лист2").Columns("A:B"), 2, 0), "dd.MM.yyyy")
    On Error GoTo 0
End Sub
 
Цитата
alextlt написал: Мне нужно понять принцип как это в VBA прописывается
Это прописывается в обработчиках событий, в модуле формы. Например так
Код
Public dic As Object

Private Sub UserForm_Initialize()
With Worksheets("Лист2")
    arr = .Range("A2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
End With
Set dic = CreateObject("Scripting.Dictionary")
For I = 1 To UBound(arr)
    dic.Add CStr(arr(I, 1)), arr(I, 2)
Next
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
    If dic.Exists(Me.TextBox1.Value) Then
        Me.TextBox2.Value = dic(Me.TextBox1.Value)
    Else
        Me.TextBox2.Value = Empty
        MsgBox "Введенное значенние в таблице отсутствует!", vbCritical
    End If
End If
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Огромное Вам спасибо, конечно вариант предложенный "webley" практичней  :D
Но и Ваш, Sanja, тоже очень интеренсный

Буду сейчас внедрять в свой файл.

Еще раз огромное Вам спасибо! :)  
 
Цитата
alextlt написал: конечно вариант предложенный " webley " практичней
Возможно. Все зависит от решаемой задачи. Вариант от webley, реагирует на КАЖДЫЙ введенный символ в TextBox1, мой только на полностью введенный номер после нажатия на Enter
Согласие есть продукт при полном непротивлении сторон.
Страницы: 1
Читают тему (гостей: 1)