2013-07-05 2 views
0

Я создал пользовательскую форму в Visual Basic, и я ищу способ отправить целую строку данных с нескольких входов на конкретный лист в зависимости от значения, выбранного в поле со списком.Как записать данные на конкретный лист в зависимости от значения, выбранного из combobox?

Я использую это, чтобы рассчитать эффективность драйвера доставки, основанную на разных маршрутах, что их собственные формулы. Есть 2 comboboxes, один из них - маршрут #, а другой - имя драйвера. У меня есть лист для каждого маршрута, а также лист для каждого драйвера. Я хотел бы отправить данные на лист маршрута #, а также отправить его на лист имен драйверов.

+0

Пожалуйста, не помещайте информацию о теге в свой заголовок. Система маркировки здесь очень хороша в классификации вещей и не нуждается в помощи. :-) Пожалуйста, см. [Если вопросы включают «теги» в их названиях?] (Http://meta.stackexchange.com/q/19190/172661). Благодарю. –

+0

Ваш вопрос непонятен. Что означает «отправка данных на конкретный лист»? Вы имеете в виду «писать на лист, указанный его именем»? Что означает «отправка целой строки данных»? Вы имеете в виду «написать ряд данных»? Двухминутный поиск здесь на '[excel-vba] выберите лист по имени', появился сообщение, содержащее ссылку на [MSDN] (http://support.microsoft.com/kb/291308), которая, кажется, имеет много полезных предложений по выбору диапазона ячеек по-разному. –

+0

Прошу прощения, я действительно не знаю, как это сказать, но как я могу написать данные на листе, основываясь на выборе combobox. Я хочу снова написать те же данные на 2 листа, основываясь на выборе каждого списка. Спасибо за ссылку, это очень полезно, если вы можете указать мне в правильном направлении любую информацию по моему вопросу (если вы понимаете, что я прошу), я был бы признателен. – JSki

ответ

0

Эфирное код:

If Me.ComboBoxName.Value = "Whatever" Then 
    Worksheets("SheetName").Range("A1").Value = Me.SomeTextBoxName.Text 
End If 

Если вы используете несколько отдельных текстовых полей, то вам нужно вставить текст индивидуально для каждого текстового поля.

В противном случае, вам нужно уточнить, что вы имеете в виду входов и строки данных (вид).

+0

У меня есть пользовательская форма с двумя комбинациями, одна из которых содержит цифры 1-25 (для маршрута), другая - имя каждого водителя. У меня также есть текстовые поля для других данных, времени, пробега, случаев, поддонов и т. Д. Я хочу записать данные на 2 разных листа в зависимости от значения каждого выпадающего списка. У меня есть отдельные листы для каждого маршрута, а также для каждого водителя. Я никогда не пользовался визуальным базой, поэтому любая помощь была бы оценена. – JSki

+0

В моем ответе я привел несколько важных кодов. Если вы не можете использовать его, вам нужно изучить основы VBA. Кен предоставил хорошую ссылку о Range. –

+0

Возможно, 'Worksheets (Me.ComboBoxName.Value) .Range ...' что нужно? – barrowc

0

Есть 3 способа можно реализовать комбинированное окно:

  1. Из инструментов управления. Свойства правого клика -> позволят вам выбрать LinkedCell, который является выбранным значением выпадающего списка , который был реплицирован в ячейку Excel.
  2. Из панели инструментов формы. Щелкните правой кнопкой мыши -> Управление форматом -> Элемент управления (вкладка) позволит вам выбрать Cell Link.
  3. Использование проверки данных -> Настройки -> Критерии проверки -> Разрешить -> Список. Это использует сама ячейку и превращает ее в поле со списком.

Вариант 3 - мой предпочтительный подход.

Нет, вам не нужен Макро/VBA.