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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2010, 17:02   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Условие на проверку значений

Здравствуйте. Подскажите.
По условию идет поиск диапазона. Диапазон найден количество ячеек 31. Как правильно создать условие после And, если хоть в одной ячейки данного диапазона имеется значение?
Или считать пустоты.
Код:
Private Sub ComboBox2_Change()

    Dim i As Integer
    For i = 1 To 1000
        If Cells(i, 27).Text = ComboBox1.Text Then
            If Cells(i, 23).Value <> CDbl(ComboBox2.Text) And Sheets("Отчет").Cells(i, 27).Offset(, -1).Resize(31) > "" Then
                If MsgBox("ВНИМАНИЕ", vbYesNo + vbExclamation, " ?????????????? ?????????") = vbYes Then
                   Module2.Change
                End If
            Else
                Cells(i, 23).Value = CDbl(ComboBox2.Text): Module2.Foo
            End If
        End If
      Next
End Sub
segail вне форума Ответить с цитированием
Старый 14.03.2010, 17:42   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Private Sub ComboBox2_Change()
    Dim i As Integer
    For i = 1 To 1000
        If Cells(i, 27).Text = ComboBox1.Text Then
            If Cells(i, 23).Value <> CDbl(ComboBox2.Text) And IsNull(Sheets("Отчет").Cells(i, 26).Resize(31).Text) Then
                If MsgBox("ВНИМАНИЕ", vbYesNo + vbExclamation, " ?????????????? ?????????") = vbYes Then
                   Module2.Change
                End If
            Else
                Cells(i, 23).Value = CDbl(ComboBox2.Text): Module2.Foo
            End If
        End If
      Next
End Sub
Если в неком диапазоне ячеек хоть одна заполнена, то выражение IsNull(ДиапазонЯчеек.Text) вернёт TRUE
EducatedFool вне форума Ответить с цитированием
Старый 14.03.2010, 20:35   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Если в неком диапазоне ячеек хоть одна заполнена, то выражение IsNull(ДиапазонЯчеек.Text) вернёт TRUE
А если наоборот True вернуть Flse?

Последний раз редактировалось segail; 15.03.2010 в 00:13.
segail вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как можно сделать проверку? KARUSHEV Помощь студентам 10 13.10.2009 15:15
Макрос на проверку значений serafim09 Microsoft Office Excel 12 08.09.2009 13:57
запрос на проверку пароля к RAR архиву delphi7 Помощь студентам 7 19.07.2009 22:41
Pascal задача на проверку условия werser Помощь студентам 1 21.12.2008 00:34
Помогите проверку ввода сделать Panda Помощь студентам 3 01.07.2008 20:50