Добрый день! Можно ли на форме сделать texbox, в который вносились бы данные, а в других texbox подставлялись соответствующие значения с листа по принципу ВПР или его аналога?
Добрый день! Можно ли на форме сделать texbox, в который вносились бы данные, а в других texbox подставлялись соответствующие значения с листа по принципу ВПР или его аналога?Паштет
Private Sub CommandButton1_Click() Err.Clear On Error Resume Next Me.TextBox2.Value=Columns(здесь_номер_столбца_в_котором_ищем).Find(Me.TextBox1.Value).Offset(,здесь_сдвиг_по_столбцам) If Err.Number<>0 Then Me.TextBox2.Value="Ничего не найдено" End Sub
[/vba]
Можно. На кнопку ОК вешаем [vba]
Код
Private Sub CommandButton1_Click() Err.Clear On Error Resume Next Me.TextBox2.Value=Columns(здесь_номер_столбца_в_котором_ищем).Find(Me.TextBox1.Value).Offset(,здесь_сдвиг_по_столбцам) If Err.Number<>0 Then Me.TextBox2.Value="Ничего не найдено" End Sub
StoTisteg, ваш представленный код работает не верно, подставляет значение из того же столбца на заданный шаг строки. Получилось что-то на подобии ГПР
StoTisteg, ваш представленный код работает не верно, подставляет значение из того же столбца на заданный шаг строки. Получилось что-то на подобии ГПР Паштет
Паштет, выложите тот код, который у Вас не работает. Есть у меня подозрения. Запятая после открывающей скобки в Offset - не опечатка и не украшение.
Паштет, выложите тот код, который у Вас не работает. Есть у меня подозрения. Запятая после открывающей скобки в Offset - не опечатка и не украшение.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Сообщение отредактировал StoTisteg - Воскресенье, 03.06.2018, 17:18
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Columns(1).Find(Me.akt2.Value).Offset(2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub
[/vba]
[vba]
Код
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Columns(1).Find(Me.akt2.Value).Offset(2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Columns(1).Find(Me.akt2.Value).Offset(,2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub
[/vba]
Паштет, я так и знал [vba]
Код
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Columns(1).Find(Me.akt2.Value).Offset(,2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Range(Cells(3,1),Cells(Cells(Rows.Count,1).End(xlUp).Row,1)).Find(Me.akt2.Value).Offset(,2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub
[/vba]
[vba]
Код
Private Sub akt2_Change() Err.Clear On Error Resume Next Me.name2.Value = Sheets("Æóðíàë ÈÁ").Range(Cells(3,1),Cells(Cells(Rows.Count,1).End(xlUp).Row,1)).Find(Me.akt2.Value).Offset(,2) If Err.Number <> 0 Then Me.name2.Value = "Íè÷åãî íå íàéäåíî" End Sub