Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
58 / 57 / 13
Регистрация: 10.09.2009
Сообщений: 255
1

Народ подскажите по TextBox

18.05.2010, 14:45. Показов 1455. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется 200шт TextBox
с 50 по 200 скрыть по типу
Visual Basic
1
2
3
UserForm1.TextBox50.Visible = False
'...
UserForm1.TextBox200.Visible = False
Как зделать что-бы не перечислять все 151 шт.
Может через For как то
Если невозможно без перечисления, то так и скажите не молчите, а то уже устал набивать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2010, 14:45
Ответы с готовыми решениями:

Народ подскажите макрос который бы из одной таблицы по id вписывал содержимое в другую?!
Т.е у меня талица в 3000 строк,в каждой строке от 1 до 7 id номера..расставленные рандомно, и во...

Народ подскажите как кэшировать пароли из pwl файла??
Подскажите как кэшировать пароли из pwl файла???

Народ подскажите по з\п
Кароч работаю монтажником в НПО,платят мне повременку,но маловато,вот решил вынести требования на...

Народ подскажите!
Народ подскажите! Если переход на мой сайт был сделан по баннеру размещенному на другом сайте, как...

6
Частенько бываю
750 / 331 / 42
Регистрация: 20.06.2007
Сообщений: 854
18.05.2010, 15:14 2
А почему бы не использовать свойство Tag?
Visual Basic
1
2
3
4
5
'....
For Each Cntr in Me.Controls
   If Cntr.Tag = -777 Then Cntr.Visible = False
Next
'....
1
58 / 57 / 13
Регистрация: 10.09.2009
Сообщений: 255
18.05.2010, 15:29  [ТС] 3
Цитата Сообщение от Vlanib Посмотреть сообщение
А почему бы не использовать свойство Tag?
Visual Basic
1
2
3
4
5
'....
For Each Cntr in Me.Controls
   If Cntr.Tag = -777 Then Cntr.Visible = False
Next
'....
Не совсем понимаю как создать, напишите пример пожалуйста

Добавлено через 3 минуты
т.е. каждому TextBox я прописываю в Tag =-777
Странно конечно, но всеравно мороки много

Добавлено через 5 минут
В автомате тоже не пропишеш каждому нужному Box-у
Что неужели ничего нету по проще

Добавлено через 3 минуты
А если случай такой
Нужно скрыть 50 боксов
а открыть только 10 боксов
А как в таком случаи
я немогу назначить для скрываемых -777 а для отображаемых 555 для одного Бокса только один Tag
0
Частенько бываю
750 / 331 / 42
Регистрация: 20.06.2007
Сообщений: 854
18.05.2010, 15:32 4
Можно так:
Visual Basic
1
2
3
4
5
'....
For Each Cntr in Me.Controls
   If Cntr.Name Like "*" Then Cntr.Visible = False
Next
'....
Но тоже тебе выделить надо эти 150 штук по имени. Влюбом варианте, чтобы оперировать отдельно какими-то группами контролов надо как-то сделать их отличными от других групп. По имени ли или же по .Tag. VBA не поддерживает массивы контролов, было бы проще.
1
58 / 57 / 13
Регистрация: 10.09.2009
Сообщений: 255
18.05.2010, 15:36  [ТС] 5
Цитата Сообщение от Vlanib Посмотреть сообщение
Можно так:
Visual Basic
1
2
3
4
5
'....
For Each Cntr in Me.Controls
   If Cntr.Name Like "*" Then Cntr.Visible = False
Next
'....
Но тоже тебе выделить надо эти 150 штук по имени. Влюбом варианте, чтобы оперировать отдельно какими-то группами контролов надо как-то сделать их отличными от других групп. По имени ли или же по .Tag. VBA не поддерживает массивы контролов, было бы проще.
А нельзя как то отделить порядковый номер от Текст Бокса и в зависимости от порядкового номера назначать ему видимость
0
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
18.05.2010, 16:19 6
Все элементы управления объединены в множество Controls.
Через него можно получить доступ к TextBox'ам по номеру

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub NN()
Dim I As Long
Dim Num As Long
For I = 0 To Me.Controls.Count - 1                       'среди всех элементов управления
    If Left(Me.Controls(I).Name, 7) = "TextBox" Then     'найти TextBox
       Num = CLng(Mid(Me.Controls(I).Name, 8))           'получить его номер
       If Num >= 50 And Num <= 200 Then                  'если он принадлежит множеству TextBox50-200
          Me.Controls(I).Visible = False                 'сделать его невидимым
       End If
    End If
Next
End Sub
макрос должен находится в модуле формы
me - это сама форм
1
58 / 57 / 13
Регистрация: 10.09.2009
Сообщений: 255
18.05.2010, 16:40  [ТС] 7
Спасибо, Очень интересное решение, обязательно попробую

Добавлено через 9 минут
То что надо
0
18.05.2010, 16:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2010, 16:40
Помогаю со студенческими работами здесь

Народ, подскажите...
Жил был сайт, накидал ссылок с морд штук 5, с каталогов. Сайт есть я.каталоге. Из небытия вылез на...

Народ подскажите де ошыбка!!! (a*b+(a-b)*(a+b)-1/(a*a+b*b))-5
Разработать программу вычисления выражения по введенным с клавиатуры значениями:...

Народ подскажите прогу
Народ подскажите программку. Мне надо рисовать 3D модели и анимировать их. Если знаете напишите....

Народ подскажите новичку пожалуйста
Здравствуйте! У меня такая ситуация я установил один шаблон для сайта (на ucoz) все нормально...

Народ подскажите что выбрать!
меня допустили в яндекс директ, но тут надо выбрать партнёра . 1. spylog 2. Best-Hosting 3....

Народ подскажите не могу разобраться
вот код программы class PassArray { static void vaTest(int v) { System.out.print(&quot;Количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru