Помогие разобраться с combobox

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Всё в файле
С уважением ...
Вложения
пример.zip
(22.87 КБ) 46 скачиваний
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

seergy,
Помогие разобраться с combobox
Помочь-то можно, но уж больно запутанное объяснение задачи у Вас.
Что должно выбраться, куда должно поместиться.
У Вас там, кроме delta t, еще 8 столбцов данных.
Какое значение и как должно выбираться...
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Привожу примемер на формулах с пояснением, что успешно использую.
Как такое сделать в VBA
C уважением...
Вложения
пример.zip
(24.17 КБ) 33 скачивания
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Не знаю, так ли я понял, посмотрите вложение.
Сделано не все, только то что удалось понять.
А вообще-то вся работа с элементами формы, в том числе и combobox была подробнейшим образом рассмотрена в последней Вашей работе. Если посмотреть код, там все есть.
Вложения
пример2.zip
(24.85 КБ) 54 скачивания
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Сразу не заметил
Текущий вопрос. Не могу назначить заполнение поля... Только числами, например, от 10 до 250
Ну, только числами у Вас присутствует, а ограничить ввод значений в определенных пределах, можно так:

Код: Выделить всё

Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim iVal As Long
    iVal = TextBox3.Value
    If iVal < 10 Or iVal > 250 Then
        MsgBox "Только числа от 10 до 250 "
        TextBox3.Value = ""
    End If
End Sub
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Кат.Clear и ТextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) - то что нужно.
Цитата:
"А вообще-то вся работа с элементами формы, в том числе и combobox была подробнейшим образом рассмотрена в последней Вашей работе. Если посмотреть код, там все есть."
Разобрался сам всё дело в том, что в ХС.RowSource = deltaK, должно быть deltaK с ковычками., т.к. это диапазон, а не переменная. "delta" - вообще не нужен, а ХС.List(iIndex,0) начало диапозна "deltaK" .

Всё дело в том, что на форме 2 OptionButton. При переключении, кот ХС.RowSource = "deltaK", менялся на AddХС
Не могу сделать, чтобы при включении OptionButton2 (оборудование) ХС.RowSource = "deltaK", менялся на AddХС (ошибка в модуле AddХС).
Посмотрите файл
P.s. а ввод для TextBox3 долько произвольного текста с ограничением количества знаков
Вложения
combobox дополнения.zip
(23.53 КБ) 32 скачивания
combobox.zip
(22.76 КБ) 24 скачивания
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Посмотрите пока дополнения.
Запустите форму UserForm1.
Значение получено, помещается (для наглядности) в лейбл.
Естественно, Вы можете пристроить его туда, куда Вам нужно.
Вложения
combobox_доп.zip
(25.21 КБ) 34 скачивания
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Всё дело в том, что на форме 2 OptionButton. При переключении, кот ХС.RowSource = "deltaK", менялся на AddХС
Не могу сделать, чтобы при включении OptionButton2 (оборудование) ХС.RowSource = "deltaK", менялся на AddХС (ошибка в модуле AddХС).
Смотрите файл.
***совет - давайте контролам нормальные однозначные имена, в частности, XC можно написать и в русской и в английской раскладке, что у Вас и было.
Вложения
combobox1.zip
(20.09 КБ) 41 скачивание
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

VictorM писал(а):Смотрите файл.
***совет - давайте контролам нормальные однозначные имена, в частности, XC можно написать и в русской и в английской раскладке, что у Вас и было.

Век живи , век учись .... прежде всего внимательность....
Всё понятно и решено...
Большое спасибо
И в завершение
Как можно заменить
Sheets(" ").Activate на ActiveSheets
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Как можно заменить
Sheets(" ").Activate на ActiveSheets
опять же, вне контекста кода, ничего не понятно, что на что менять и для чего.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Ответить