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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2010, 17:22   #1
ARud
 
Регистрация: 18.04.2008
Сообщений: 7
По умолчанию Проблема с Combobox и TextBox

Ребята привет,
помогите плиз в приложенной форме, чтобы при выборе табельного номера, в форме, в textbox поле, появлялись фамилия и имя, что внесено как данные на странице excel.

смотрите вложенный файл

спасибо большое!!!
Вложения
Тип файла: zip Template.zip (12.6 Кб, 20 просмотров)
ARud вне форума Ответить с цитированием
Старый 08.02.2010, 17:33   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот весь код:

Код:
Private Sub ComboBox1_Change()
    On Error Resume Next
    Me.TextBox1 = "": Me.TextBox2 = ""
    Dim cell As Range: Set cell = [c:c].Find(Me.ComboBox1, , , xlWhole)
    Me.TextBox1 = cell.EntireRow.Cells(1): Me.TextBox2 = cell.EntireRow.Cells(2)
End Sub
Пример файла:

EducatedFool вне форума Ответить с цитированием
Старый 08.02.2010, 17:37   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

См.вложение.Первое,что пришло в голову
Вложения
Тип файла: rar Template.rar (14.8 Кб, 36 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.02.2010, 17:44   #4
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Ну и до кучи мое неочень оптимальное решение :
Код:
Private Sub ComboBox1_Change()
    x = UserForm1.ComboBox1.Value
    Range([C2], Cells(Cells(Rows.Count, "C").End(xlUp).Row, "C")).Find(x).Select
    UserForm1.TextBox1.Value = ActiveCell.Offset(0, -2)
    UserForm1.TextBox2.Value = ActiveCell.Offset(0, -1)
End Sub

Private Sub UserForm_Activate()
Application.ScreenUpdating = False
    Sheets("Test").Select

    Dim r As Range, vars As Variant
    Set r = Range([C2], Cells(Cells(Rows.Count, "C").End(xlUp).Row, "C"))

    For Each vars In r
        UserForm1.ComboBox1.AddItem (vars)
    Next vars

Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Activate() позволит заполнить комбобокс независимо от того, сколько ячеек заполнено в столбце C.
Maxx вне форума Ответить с цитированием
Старый 08.02.2010, 17:54   #5
ARud
 
Регистрация: 18.04.2008
Сообщений: 7
По умолчанию

Спасибо народ!!!
ARud вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Textbox Garrison Microsoft Office Excel 8 20.02.2016 21:59
Проблема с TextBox miatu Microsoft Office Word 3 10.09.2009 18:08
проблема со ссылкой на textBox tolikman Microsoft Office Excel 4 09.01.2009 07:04
Проблема с ComboBox boostman Общие вопросы Delphi 13 13.08.2008 15:01
Проблема с ComboBox.ItemIndex Селезин Общие вопросы Delphi 3 27.10.2007 16:42