Помогите написать макрос в Excel на языке VBA

компьютеры программирование софт excel VBA

Предполагается, что лист Excel забит какими-то числами. Я выделяю область, какую захочу. Запускаю макрос и появляется сообщение, которое содержит текст: "В указанном вами диапазоне столько-то чисел, находящихся в диапазоне от 0 до 1". То есть макрос, который ищет в указанном мною диапазоне числа от нуля до единицы и выводит сообщение с количеством этих чисел.

Примечание:
Все. Я сам разобрался. Если кому-то интересен мой вопрос, то вот рабочий код макроса:

Sub Макрос1
Dim iDiapazon As Range, iArea As Range
Set iDiapazon = Selection
iCriteria$ = ">0""<1"
For Each iArea In iDiapazon.SpecialCells(xlVisible).Areas
iCount& = iCount& + Application.CountIf(iArea, iCriteria$)
Next
MsgBox "В этом диапазоне количество значений от нуля до единицы равно " & iCount&
End Sub
Ответы:
И у вас работает функция СЧЕТЕСЛИ с двойным условием? Такого не может быть.
Попробуйте макрос без подключения функций Экселя.
Sub Макрос2()
Dim iCount As Integer
For Each cell In Selection
  If cell > 0 And cell < 1 Then iCount = iCount + 1
Next
MsgBox "В этом диапазоне количество значений от нуля до единицы равно " & iCount
End Sub
Olmoney, возьмите решение от Алексея. Оно правильнее! :-)


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.