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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 16:13   #11
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Спасибо большое,всё работает)
Mrsqler вне форума Ответить с цитированием
Старый 07.03.2012, 17:32   #12
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Еще было бы неплохо найти количество незаполненных ячеек,всего их 12,и если хотя бы одна из них не заполнена,то выводилось сообщение об ошибке.Вот что у меня получилось,но это не работает.
Код:
For i = 1 To 12
     If TextBox(i).Value = IsNothing Then
        Next i
      MsgBox("Введите значения!")
Ошибка появляется такая Sub or Function not defined и ругается именно на TextBox
Mrsqler вне форума Ответить с цитированием
Старый 07.03.2012, 17:39   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
for each c in ???.controls
  if c.name like "textbox*" then
    if c.value = "" then msgbox "есть пустые ТЕКСТБОКСЫ!!1"...
  end if
next
примера нет. не знаю, где расположены Ваши ТекстБоксы... поэтому вместо ??? надо вписать владельца ТекстБоксов.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.03.2012, 17:52   #14
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Тоже не работает
Код:
 For Each c In UserForm1.Controls
  If c.Name Like "TextBox" Then
    If c.Value = "" Then MsgBox "есть пустые ТЕКСТБОКСЫ!!1"
  End If
Next c
Вылазит ошибка Type mismatch
Mrsqler вне форума Ответить с цитированием
Старый 07.03.2012, 18:31   #15
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

так работает
Код:
Dim iControl As MSForms.Control
For Each iControl In Me.Controls
    If TypeName(iControl) = "TextBox" Then
    If iControl.Value = "" Then MsgBox "есть пустые ТЕКСТБОКСЫ!!1"
    End If
Next
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 07.03.2012, 20:42   #16
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Ваш код не совсем как хотелось бы работает)Там еще 13 раз выводится сообщение "введите значения".Я попытался вытащить его из цикла,но опять пошли ошибки(
Код:
For Each iControl In Me.Controls
    If TypeName(iControl) = "TextBox" Then
    If iControl.Value = "" Then
    Next iControl
     MsgBox "Введите значения"
    End If
Еще вот вариант
Код:
If TextBox7.Text = IsNothing Then
MsgBox "Введите значения"
Если в текстбоксе7 значение не ввести,то появится сообщение "введите значения")А вот если в текстбоксе7 ввести,а в остальных нет,то ошибка появится)
Вообще не знаю...Можно же сделать так? Это не очень грубой ошибкой будет?
Mrsqler вне форума Ответить с цитированием
Старый 07.03.2012, 20:58   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

пример выложите, а то тема будет закрыта ввиду бессмысленности
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.03.2012, 21:06   #18
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Почему же бессмысленности?Короче вот мой код.
Я пытался написать решение систем линейных уравнений методом Крамера.
В принципе всё получилось,не могу только нормально проверку сделать,на пустые ячейки.
Вложения
Тип файла: zip Крамер.zip (34.1 Кб, 4 просмотров)
Mrsqler вне форума Ответить с цитированием
Старый 07.03.2012, 21:20   #19
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Ваш код не совсем как хотелось бы работает
Код работает так, как было задано выше.
Вот так просто выведет кол-во пустых
Код:
Dim iControl As MSForms.Control
    s = 0
    For Each iControl In Me.Controls
        If TypeName(iControl) = "TextBox" Then
            If iControl.Value = "" Then s = s + 1
        End If
    Next
    MsgBox "На форме " & s & " пустых ТЕКСТБОКСОВ. Введите значения!"
Похоже, собственно то, что нужно
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 07.03.2012 в 21:23.
VictorM вне форума Ответить с цитированием
Старый 07.03.2012, 21:25   #20
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Проверил в файле.
Все работает.
Только нужно добавить выход при наличии пустых.
Иначе в ошибку выпадет.
Код:
s = 0
    For Each iControl In Me.Controls
        If TypeName(iControl) = "TextBox" Then
            If iControl.Value = "" Then s = s + 1
        End If
    Next
    MsgBox "На форме " & s & " пустых ТЕКСТБОКСОВ. Введите значения!"
   Exit Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 07.03.2012 в 21:29.
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пара вопросов Life9 Общие вопросы Delphi 38 14.07.2009 21:05
пара вопросов DeDoK Общие вопросы Delphi 1 10.11.2008 17:58
Пара вопросов [Smarik] Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 18.04.2008 14:28
Пара вопросов... ~N@um~ Помощь студентам 6 14.07.2007 09:49
пара вопросов Trooper Общие вопросы Delphi 3 05.11.2006 17:56