Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 34
1

Есть ли хоть одна непустая ячейка в Range

12.01.2014, 22:19. Показов 1103. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть диапазон ячеек. Нужно проверить, есть ли хоть одна непустая ячейка.

Visual Basic
1
2
3
4
5
6
7
If Cells(2, 1).Value = "" And _
    Cells(2, 2).Value = "" And _
    Cells(2, 3).Value = "" And _
    Cells(2, 4).Value = "" And _
    Cells(2, 5).Value = "" And _
    Cells(2, 6).Value = "" And _
    Cells(2, 7).Value = "" Then
либо так

Visual Basic
1
2
3
While Cells(НомерСтроки, 1) <> "" Or Cells(НомерСтроки, 2) <> "" Or Cells(НомерСтроки, 3) <> "" Or Cells(НомерСтроки, 4) <> "" Or Cells(НомерСтроки, 5) <> "" Or Cells(НомерСтроки, 6) <> "" Or Cells(НомерСтроки, 7) <> ""
        '...
   Wend
Как можно упростить этот код, используя Range?
Пробовал Range(Cells(2, 1), Cells(2, 7)).value <> "" , бейсик ругается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2014, 22:19
Ответы с готовыми решениями:

Перенести все строки, в которых есть хоть одна пустая ячейка на другой лист
Есть список студентов в Excel их 4097, если хоть одна ячейка в строке пустая нужно перенести всю...

Как проверить, есть ли в матрице хоть одна нулевая строка?
Нашёл кое-какую штуку, но она не работает. В i1 всегда записывается ноль. i1:=-1; i:=0;...

Как программно проверить, или есть хоть одна открытая форма?
Нужно написать функцию, которая будет проверять, есть ли открытые формы. Например: If...

Заменить в тексте все слова, в которых есть хоть одна цифра, на звездочки
Помогите! Задание такое: заменить в тексте все слова в которых есть хоть одна цифра на звездочки)

3
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
13.01.2014, 00:50 2
2 варианта:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Explicit
 
Sub tt()
    Dim a(), i&, ii&, flag As Boolean
 
    a = Range(Cells(2, 1), Cells(3, 7)).Value
 
    For i = 1 To UBound(a, 1)
        ii = 1
        Do While ii <= UBound(a, 2)
            If Len(a(i, ii)) Then flag = True: Exit For
            ii = ii + 1
        Loop
    Next
 
    If flag Then MsgBox "Есть!" Else MsgBox "Нет!"
End Sub
 
Sub ttt()
If Application.CountA(Range(Cells(2, 1), Cells(3, 7))) Then MsgBox "Есть!" Else MsgBox "Нет!"
End Sub
Добавлено через 6 минут
P.S. Делал поуниверсальнее, на несколько строк - так и в коде осталось
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
13.01.2014, 20:21 3
Можно проще:

Visual Basic
1
2
3
4
5
6
7
Function isAllEmpty(R as Range) As Boolean
Dim c as range
     For each c in r
          If Not isEmpty(c.value) then Exit Function
     Next
     isAllEmpty=True
End Sub
0
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
15.01.2014, 21:00 4
Пример без цикла:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Example()
Dim lngConstants As Long, lngFormulas As Long
With Range("a1:d11")
    On Error Resume Next
    lngConstants = .SpecialCells(xlCellTypeConstants).Cells.Count
    If Err.Number <> 0 Then Err.Clear
    lngFormulas = .SpecialCells(xlCellTypeFormulas).Cells.Count
    If Err.Number <> 0 Then Err.Clear
    On Error GoTo 0
    MsgBox "Кол-во пустых ячеек: " & .Cells.Count - lngConstants - lngFormulas
End With
End Sub
1
15.01.2014, 21:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2014, 21:00
Помогаю со студенческими работами здесь

Как перед выполнением команды Sheets('Лист1').Range('данные').Activate проверить есть ли ячейка с таким названием?
Кто подскажет, как перед выполнением команды Sheets('Лист1').Range('данные').Activate проверить...

Как сделать чтоб если в imageList1 есть хоть одна запись издавался звук
Как сделать чтоб если в imageList1 есть хоть одна запись издавался звук ? С# А если записей нет то...

Найти количество простых чисел не больше N, в записи которых есть хоть одна четная цифра
Здравствуйте! Есть число N.Нужно найти количество простых чисел не больше N в записи которых есть...

Есть ли хоть одна кодировка DOS , в которой был бы символ "номер" ?
На этом форуме куча багов при создание темы. По этому пишу исмвол тут № Ну номер № :-) ...

Среди первой тысячи натуральных чисел каких больше в записи которых нет цифры 1 или тех, где есть хоть одна 1
Среди первой тысячи натуральных чисел каких больше в записи которых нет цифры 1 или тех, где есть...

Как на изображение наложить сетку, чтобы одна ячейка имела размеры 64*32, и чтобы каждая ячейка нумеровалась
Добрый день. Подскажите пожалуйста. Имеется изображение 320*640 Необходимо на это изображение...


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

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