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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 22:24   #1
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
Вопрос Последовательность ТекстБоксов в форме

Условия: Имеется форма(в макросах) с ТекстБоксами, лейблами, и кнопками.
При переборе коллекции "Контролс" последовательность её членов почему-то не в алфавитном порядке и не в порядке ТабИндекса, а в каком-то совершенно произвольном.(Возможно последовательность создания)
Как установить последовательность перебора членов этой коллекции в соответствии с ТабИндексом например.
Ну или вообще её можно как-нибудь поменять?
Хочу чтобы у меня ТекстБоксы автоматически заполнялись из Существующей таблицы (не обращаяясь к их Именам)
И ещё вопросик: какое событие возникает когда я в ЛистБоксе перемещаюсь со строки на строку стрелочкой с клавиатуры? (выделение "пробелом" не делаю)
(Эксель 2003)
КаМММ вне форума
Старый 04.12.2008, 23:10   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Правой кнопкой на форме в меню есть TabOrder, там можно исправить последовательность выбора элементов клавишей ТАБ или вручную править TabIndexы.

Событие Private Sub ListBox1_change() (понятно, если у вас 1 листбокс, и если он не переименован)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 04.12.2008, 23:55   #3
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
По умолчанию

ТабИндексы у меня уже исправлены (стоят в нужном порядке) Но при использовании структуры For Each TextBox In UserForm2.Controls
Последовательность не совпадает с TabIndex
Я уже их всяко пробовал переставить но как обратится к номеру а не к имени я так и не понял.

И для срабатывания Private Sub ListBox1_change() недостаточно нажатия стрелочки на клавиатуре.
Хотя ListBox1_change это было первое что я испробовал.
КаМММ вне форума
Старый 05.12.2008, 02:07   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

жмите стрелочку на клавиатуре
Вложения
Тип файла: rar Книга30.rar (10.9 Кб, 41 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 05.12.2008, 04:04   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Хочу чтобы у меня ТекстБоксы автоматически заполнялись из Существующей таблицы (не обращаяясь к их Именам)
Например, так:
Вложения
Тип файла: rar текстбоксы.rar (11.2 Кб, 41 просмотров)
EducatedFool вне форума
Старый 05.12.2008, 08:17   #6
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
По умолчанию

Цитата:
жмите стрелочку на клавиатуре
Всё как и предпологал.
Похоже зменить последовательность перебора можно только используя специальный макрос.
В принципе меня удовлетворил-бы просто ответ, что внутренняя нумерация не меняется.(Спасибо за предложенное решение)
Но наверно я просто переделаю Форму создав текстбоксы в нужной последовательности изначально
совпадающей с номерами столбцов содержащих информацию вставляемую в них.
Цитата:
Например, так:
Спасибо - всё работает. (пока не понял почему, разбиратся буду вечером)
КаМММ вне форума
Старый 05.12.2008, 11:35   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
В принципе меня удовлетворил-бы просто ответ, что внутренняя нумерация не меняется.
Я готов был к такому ответу, единственное, что меня сдерживало - это то, что если я не нашел, как переставить обьекты в коллекции Controls - это ж не значит, что этого нельзя сделать. Но очень на то похоже, метод удалить обьект из коллекции есть и работает, а стандартный метод коллекции вставить отказывается работать((, пишет что в данной коллекции не уместен

если по нажатию второй кнопки выполнить вот это:
Код:
Private Sub CommandButton2_Click()
  For Each c In Me.Controls
    If c.Name Like "textbox*" Then c.Text = Cells(c.TabIndex + 1, 1)
    St = Timer: Do While Timer < St + 1: DoEvents: Loop
  Next
End Sub
то текст боксы заполнятся данными из первой колонки. Обход по коллекции происходит по порядку ее заполнения, а данные выбираются, по TabIndex. Вставлена строка, задающая паузу 1 секунду, чтобы было видно в какой последовательности заполняются ТЕКСТБОКСЫ.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 05.12.2008, 22:24   #8
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
По умолчанию

Цитата:
если я не нашел, как переставить обьекты в коллекции Controls - это ж не значит, что этого нельзя сделать
Абсолютно с вами согласен. Честно говоря мне настолько нравится Эксель что такие мелочи его хуже не делают.
Просто теперь, зная эту особенность, буду внимательнее к последовательности действий.
Разобрался почему у меня Change по стрелке не срабатывал: Поставил Мультиселект в положение 0 - fmMultiselectSingle и всё заработало.
Спасибо всем
Тема закрыта.
КаМММ вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последовательность событий MAcK Общие вопросы Delphi 2 20.11.2008 14:36
последовательность pakusya Помощь студентам 1 17.10.2008 17:33
Последовательность Фибоначчи Natasha AA Общие вопросы Delphi 2 23.09.2008 23:18
перевод в последовательность Janette Паскаль, Turbo Pascal, PascalABC.NET 2 23.03.2008 14:11
числовая последовательность pelsh Помощь студентам 1 15.02.2008 03:20