Всем привет! Столкнуля с проблемой.. Переворошил, но ничего не нашел.. Необходимо при вводе значения в текстбокс1 чтобы в комбоксе1 автоматически появлялись значения из 1 столбца соответствующей строки таблицы на листе 3. Если сможете прошу глянуть и на создание условия для ввода в текстбокс (нужно ввести 3 цифры, затем дефис (желательно автоматически), а затем снова 3 цифры). Заранее благодарен...
Всем привет! Столкнуля с проблемой.. Переворошил, но ничего не нашел.. Необходимо при вводе значения в текстбокс1 чтобы в комбоксе1 автоматически появлялись значения из 1 столбца соответствующей строки таблицы на листе 3. Если сможете прошу глянуть и на создание условия для ввода в текстбокс (нужно ввести 3 цифры, затем дефис (желательно автоматически), а затем снова 3 цифры). Заранее благодарен...4lasa
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim txt As String Dim a Dim flgAlarm As Boolean
txt = Trim(TextBox1.Text) a = Worksheets("база").Range("A:B") If InStr(1, txt, "-") Then If (Len(txt) <> 7) Then flgAlarm = True End If Else If Len(txt) = 6 And IsNumeric(txt) Then txt = Left(txt, 3) & "-" & Right(txt, 3) TextBox1.Text = txt 'Отображаем в текстбоксе уже изменённо, правильно Else flgAlarm = True End If End If If flgAlarm Then MsgBox ("Не правильный формат ввода") Exit Sub End If ComboBox1.Clear For i = 1 To UBound(a, 1) If (Trim(a(i, 2)) = txt) Then ComboBox1.AddItem a(i, 1) End If Next i End Sub
[/vba]
4lasa, Так нужно? [vba]
Код
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim txt As String Dim a Dim flgAlarm As Boolean
txt = Trim(TextBox1.Text) a = Worksheets("база").Range("A:B") If InStr(1, txt, "-") Then If (Len(txt) <> 7) Then flgAlarm = True End If Else If Len(txt) = 6 And IsNumeric(txt) Then txt = Left(txt, 3) & "-" & Right(txt, 3) TextBox1.Text = txt 'Отображаем в текстбоксе уже изменённо, правильно Else flgAlarm = True End If End If If flgAlarm Then MsgBox ("Не правильный формат ввода") Exit Sub End If ComboBox1.Clear For i = 1 To UBound(a, 1) If (Trim(a(i, 2)) = txt) Then ComboBox1.AddItem a(i, 1) End If Next i End Sub
Roman777, Огромное спасибо! только что-то не как не могу разобраться с условиями для ввода в текстбокс ... а как сделать чтобы не было условий для ввода?
Roman777, Огромное спасибо! только что-то не как не могу разобраться с условиями для ввода в текстбокс ... а как сделать чтобы не было условий для ввода?4lasa
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim txt As String Dim a ' Dim flgAlarm As Boolean
txt = Trim(TextBox1.Text) a = Worksheets("база").Range("A:B") If (Len(txt) <> 7) Then MsgBox ("Не правильный формат ввода") Exit Sub End If ComboBox1.Clear For i = 1 To UBound(a, 1) If (Trim(a(i, 2)) = txt) Then ComboBox1.AddItem a(i, 1) End If Next i End Sub
[/vba]
4lasa, Вы так хотите?
[vba]
Код
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim txt As String Dim a ' Dim flgAlarm As Boolean
txt = Trim(TextBox1.Text) a = Worksheets("база").Range("A:B") If (Len(txt) <> 7) Then MsgBox ("Не правильный формат ввода") Exit Sub End If ComboBox1.Clear For i = 1 To UBound(a, 1) If (Trim(a(i, 2)) = txt) Then ComboBox1.AddItem a(i, 1) End If Next i End Sub