Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Проверка заполненности всего, что есть на форме - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка заполненности всего, что есть на форме (Макросы/Sub)
Проверка заполненности всего, что есть на форме
lFJl Дата: Пятница, 01.07.2016, 21:31 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Доброго дня!
Подскажите пожалуйста, имеем MultiPage, с многим количеством страниц, на каждой находится несколько TextBox, ComboBox, CheckBox и прочих запчастей для ввода данных пользователем. Так же есть кнопка.
Все они имеют имена, например dis_1, dis_2... dis_n.

Сейчас при нажатии на кнопку я прговеряю, вводились ли данные в каждом TextBox, ComboBox, CheckBox и прочих, и после этого выполняю действие
Подскажите пожалуйста, можно ли сделать проверку всех например через цикл for, например заменив номер на букву, dis_n к примеру.

В итоге мне нужно, если в TextBox присутствует такой-то текст, тогда сделать это, если в ComboBox присутствует такой-то текст, тогда сделать то...

Ну и так же, при вводе в некоторые TextBox, ComboBox, выполняется одно и то же действие, меняется только имя.
К сообщению приложен файл: for.xlsm(20Kb)


Сообщение отредактировал lFJl - Пятница, 01.07.2016, 21:37
 
Ответить
СообщениеДоброго дня!
Подскажите пожалуйста, имеем MultiPage, с многим количеством страниц, на каждой находится несколько TextBox, ComboBox, CheckBox и прочих запчастей для ввода данных пользователем. Так же есть кнопка.
Все они имеют имена, например dis_1, dis_2... dis_n.

Сейчас при нажатии на кнопку я прговеряю, вводились ли данные в каждом TextBox, ComboBox, CheckBox и прочих, и после этого выполняю действие
Подскажите пожалуйста, можно ли сделать проверку всех например через цикл for, например заменив номер на букву, dis_n к примеру.

В итоге мне нужно, если в TextBox присутствует такой-то текст, тогда сделать это, если в ComboBox присутствует такой-то текст, тогда сделать то...

Ну и так же, при вводе в некоторые TextBox, ComboBox, выполняется одно и то же действие, меняется только имя.

Автор - lFJl
Дата добавления - 01.07.2016 в 21:31
SLAVICK Дата: Пятница, 01.07.2016, 23:42 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1841
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
Так пойдет?:
[vba]
Код
Private Sub CommandButton1_Click()
Dim el As Control
For Each el In Me.Controls
On Error Resume Next
If el.Value <> "" Then msg = msg & vbCr & el.Name & "/" & el.Value
Next
UserForm1.Hide
MsgBox msg
End Sub
[/vba]
К сообщению приложен файл: 2535501.xlsm(18Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеТак пойдет?:
[vba]
Код
Private Sub CommandButton1_Click()
Dim el As Control
For Each el In Me.Controls
On Error Resume Next
If el.Value <> "" Then msg = msg & vbCr & el.Name & "/" & el.Value
Next
UserForm1.Hide
MsgBox msg
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 01.07.2016 в 23:42
lFJl Дата: Воскресенье, 03.07.2016, 06:37 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
SLAVICK,
Мне введенные данные нужно после этого вводить в разные ячейки, например
TextBox1,2 в одну ячейку, TextBox3,4 в другую, ComboBox1,2,3,4 в следующую, и т.д.
Хотел чтобы это было что-то типа

[vba]
Код
for  n  = 1 to 3
if ("TextBox" & n).value <>"" then msg = msg & " / " & ("TextBox" & n).Text
next
MsgBox msg
[/vba]
 
Ответить
СообщениеSLAVICK,
Мне введенные данные нужно после этого вводить в разные ячейки, например
TextBox1,2 в одну ячейку, TextBox3,4 в другую, ComboBox1,2,3,4 в следующую, и т.д.
Хотел чтобы это было что-то типа

[vba]
Код
for  n  = 1 to 3
if ("TextBox" & n).value <>"" then msg = msg & " / " & ("TextBox" & n).Text
next
MsgBox msg
[/vba]

Автор - lFJl
Дата добавления - 03.07.2016 в 06:37
lFJl Дата: Понедельник, 04.07.2016, 16:36 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Есть еще идеи?
 
Ответить
СообщениеЕсть еще идеи?

Автор - lFJl
Дата добавления - 04.07.2016 в 16:36
Матраскин Дата: Понедельник, 04.07.2016, 16:56 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 341
Репутация: 63 ±
Замечаний: 0% ±

20xx
lFJl,
[vba]
Код
For I = 1 To 4
   If Me.Controls("TextBox" & I).Value = "" Then msg = "TextBox" & I
   MsgBox msg
Next
[/vba]


в интернете опять кто-то не прав
 
Ответить
СообщениеlFJl,
[vba]
Код
For I = 1 To 4
   If Me.Controls("TextBox" & I).Value = "" Then msg = "TextBox" & I
   MsgBox msg
Next
[/vba]

Автор - Матраскин
Дата добавления - 04.07.2016 в 16:56
lFJl Дата: Понедельник, 04.07.2016, 20:19 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 3 ±
Замечаний: 0% ±

Excel 2007
Матраскин, Спасибо, то, что нужно! :)
 
Ответить
СообщениеМатраскин, Спасибо, то, что нужно! :)

Автор - lFJl
Дата добавления - 04.07.2016 в 20:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка заполненности всего, что есть на форме (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!