Страницы: 1
RSS
User Form: ошибки при обработке Combobox, Textbox
 
Добрый день!
Прошу помоч с решение сдедующего задания.
Хочу создать форму в VBA , в которые любой может ввести данные, которые в последствии будут подтягиватся в форму Excel.
В приложенном файле на вкладке "Main" основная інформація. На вкладке "Payment Request" форма Excel ну и клавиша для вывода формы с VBA.
При этом проблемма возникает уже при написании Combobox, Textbox. Пишу код ( тот что ниже), но все равно выдает ошибку.
Прошу помочъ. Заранее благодарен.
Код
Private Sub ComboBox3_Change() 
TextBox1 = Application.VLookup(ComboBox3, Range("Expenses"), 2, 0) 
End Sub 
Изменено: Alex777777 - 11.10.2016 14:19:21
 
Цитата
Alex777777 написал:
TextBox1 = Application.VLookup(ComboBox3, Range("Expenses", 2, 0)
Может из-за скобки?
Код
TextBox1 = Application.VLookup(ComboBox3, Range("Expenses"), 2, 0) 
 
Нет, это она что-то в сообщения не вставилась. Там все со скобками ок.

Ни в этом, увы
 
А так?
Код
TextBox1 = Application.Index(Range("Expenses").Columns(1), Application.Match(ComboBox3, Range("Expenses").Columns(2), 0))
 
Код
<Private Sub Closedwindow_Click()
Unload Me
End Sub>
Код
<Private Sub ComboBox3_Change()
TextBox1 = Application.Index(Range("Expenses").Columns(1), Application.Match(ComboBox3, Range("Expenses").Columns(2), 0))
End Sub>
Код
<Private Sub ComboBox7_Change()
    TextBox2 = Application.VLookup(ComboBox7, Range("Prof_Dept"), 2, 0)
End Sub>

Код
<Private Sub UserForm_Initialize()
    ComboBox1.RowSource = "Type_Payment"
    ComboBox3.RowSource = "Name"
    ComboBox7.RowSource = "Departament"
End Sub>
Это все коды что у меня написаны, но ничего не получается
Можите помочь пожалуйста с примером этим, никак не могу решить?
Изменено: AlexBosenko - 11.10.2016 15:04:07
 
Код
TextBox2 = Application.VLookup(ComboBox7, Range("Prof_Dept"), 2, 0) 
Так в этой строке тоже через индекс нужно делать.

Маленький ликбез. ВПР ищет справа. А Вы пытаетесь вытянуть значения слева. Из-за этого и ошибка.
 
Точно!!!)
Сейчас попробую
 
Все равно не получилось. Переставил местами уже и то что нужно искать, не вышло.

Можите на примере показать? в самом файле
Или какие еще варианты возможны?
Изменено: AlexBosenko - 11.10.2016 16:35:04
 
Ну Вы не утомимый!
Вы поменяли столбцы под поиск ВПР справа, и код написали для поиска без ВПР слева.
 
Собственно файл.
 
И в этом файте когда Вы нажимаете "Заповнити Payment Request", выбираете любое значение с "Стаття витрат", и подтягивается нужний "Код витрат"??
 
Так.
 
Ну а как теперь сделать так чтобы те значения что стоят в VBA автоматечески заполняли форму в Excel, подскажите пожалуйста?
 
Если правильно понял, то, например, так:
Код
Private Sub CommandButton1_Click()
    Dim iY As Integer
    iY = Application.Match(ComboBox3.Value, Columns("G:G"), 0)
    Columns("B:B").Cells(iY).Value = "+"
End Sub

 
Да да! Огромное спасибо за помощъ. Пока получается все.

Всего хорошего
 
А если в случае не правильного выбора? Можно ли прописать чтобы все стереть и начать заполнение заново?
И еще, работает оно как то через раз. Только что все работало, уже пишит ошибку
 
Цитата
AlexBosenko написал: И еще, работает оно как то через раз.
у вас посты с разницей в 2 минуты - что вы успели там сделать за эти 2 минуты?   8) ... у меня работает без проблем - проверила, чтобы не верить вам на слово
Цитата
AlexBosenko написал: А если в случае не правильного выбора?
оно же само подтягивает нужное! - меняйте в комбобокс - получаете нужное в текстбокс... делайте комбобокс пустым - ничего не подтянет
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Здравствуйте. Уже работает. Возможно была пробрема с Excel. Окей, спасибо
 
Добрый день!

Подскажите пожалуйста. Есть клавиша есть правила: один вопрос - одна тема [МОДЕРАТОР]
Изменено: AlexBosenko - 14.10.2016 00:42:33
Страницы: 1
Наверх