Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Пакет Microsoft Office

  Все выпуски  

RFpro.ru: Пакет Microsoft Office


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Megaloman
Статус: Мастер-Эксперт
Рейтинг: 356
∙ повысить рейтинг »
CradleA
Статус: Мастер-Эксперт
Рейтинг: 22
∙ повысить рейтинг »
solowey
Статус: Академик
Рейтинг: 4
∙ повысить рейтинг »

Пакет MSOffice

Номер выпуска:1044
Дата выхода:19.03.2022, 15:15
Администратор рассылки:Megaloman (Мастер-Эксперт)
Подписчиков / экспертов:2 / 29
Вопросов / ответов:1 / 1

Консультация # 202312: Здравствуйте! У меня возникли сложности с таким вопросом: Необходимо разработать приложение на VBA, которое позволит : 1. На Листе1 (Числа) в ячейки А1–А20 занести случайным образом значения из интервала (–50; 50). 2. На Лист1 (Числа) в ячейку С1 записать “Количество +”, а в ячейку D1 поместить подсчитанное значение с количеством положите...

Консультация # 202312:

Здравствуйте! У меня возникли сложности с таким вопросом:
Необходимо разработать приложение на VBA, которое позволит :
1. На Листе1 (Числа) в ячейки А1–А20 занести случайным образом значения из интервала (–50; 50).
2. На Лист1 (Числа) в ячейку С1 записать “Количество +”, а в ячейку D1 поместить подсчитанное значение с количеством положительных чисел.
3. На Лист1 (Числа) в ячейку С2 записать “Количество –”, а в ячейку D2 поместить подсчитанное значение с количеством отрицательных чисел.
4. На Лист1 (Числа) в ячейку С3 записать “Количество 0”, а в ячейку D3 поместить подсчитанное значение с количеством чисел, равных нулю.
P.S прилагаю документы этой работы, там есть готовый пример, но я все равно не разбираюсь пока что в этом вба smile и так дофига всего, а мне еще курсач писать
если что нужно до 16.03, желательно до завтра 20-22 по мск, был бы ооочень благодарен и признателен за помощь smile

Дата отправки: 14.03.2022, 15:10
Вопрос задал: DanilaKotov3619 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Megaloman (Мастер-Эксперт):


Код
Sub Laborator3()
    Dim MyShe, Sdiap As String
    Dim iR As Range
    Dim RndLow, RndUpp, NVal, i As Integer
    
    MyShe = "Лист1 (Числа)"     ' Имя рабочего листа
    Sdiap = "A1:A20"            ' Диапазон обрабатываемых ячеек
    RndLow = -50                ' Нижняя граница случайных чисел
    RndUpp = 50                 ' Верхняя граница случайных чисел
    
    Txt = Array("Количество +", "Количество -", "Количество 0") 'Текстовки
    RTxt = Array("C1", "C2", "C3")                      'В какой ячейке
    RVal = Array("D1", "D2", "D3")                      'В какой ячейке значение
    
    Call My_Sheet(MyShe)        ' Создание или активация рабочего листа
    
    Randomize
    For Each iR In Range(Sdiap) ' Заполнение указанного диапазона ячеек случайными числами
        iR = Int((RndUpp - RndLow + 1) * Rnd + RndLow)
    Next
    
    NVal = UBound(RVal)
    ReDim MyVal(NVal) As Integer    ' В этом массиве будем подсчитывать кол-во значений по условию
    For Each iR In Range(Sdiap)     ' Анализ значений и подсчет их по заданным условиям
        If iR.Value > 0 Then
            MyVal(0) = MyVal(0) + 1
        Else
            If iR.Value < 0 Then
                MyVal(1) = MyVal(1) + 1
            Else
                MyVal(2) = MyVal(2) + 1
            End If
        End If
    Next
        
    For i = 0 To NVal       ' Заносим текстовки и результаты подсчетов в заданные ячейки
        Range(RTxt(i)) = Txt(i)
        Range(RVal(i)) = MyVal(i)
        Columns(Range(RTxt(i)).Column).AutoFit
    Next
End Sub

Sub My_Sheet(My)                ' Создание или активация рабочего листа
    Dim Sh As Worksheet
    
    On Error Resume Next
    Set Sh = Sheets(My)
    If Err.Number <> 0 Then     ' Листа нет, создаём
        If Sh Is Nothing Then Sheets.Add(, Sheets(Sheets.Count)).Name = My
    Else
        Sh.Activate             ' Лист имеется, активируем.
    End If
    On Error GoTo 0
End Sub

Консультировал: Megaloman (Мастер-Эксперт)
Дата отправки: 14.03.2022, 20:36 нет комментария
-----
Дата оценки: 14.03.2022, 21:51

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное