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

Обсуждение

давно
Посетитель
405402
99
14.03.2022, 15:12
общий
Адресаты:
и снова прошу вас о помощи, если не затруднит до завтрашнего вечера сделать ее
давно
Посетитель
405402
99
14.03.2022, 15:14
общий
Адресаты:
и еще, простите за такой вопрос не по теме, но вы случайно в дискретной математике (универ 1 курс) не разбираетесь? мне бы сегодня часам к 18:00 по мск не помешала бы помощь по ней, хехе :(
давно
Посетитель
405402
99
14.03.2022, 15:16
общий
Цитата: Danila
и снова прошу вас о помощи, если не затруднит до завтрашнего вечера сделать ее
и если можно, то как можно больше комментариев к ней, где это возможно ;)
давно
Модератор
137394
1850
14.03.2022, 15:35
общий
Адресаты:
Не разбираюсь. Попробуйте задать вопрос в форуме.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
405402
99
14.03.2022, 15:48
общий
Цитата: Megaloman
Не разбираюсь. Попробуйте задать вопрос в форуме.
а по поводу задани по вба, сможете помочь?
давно
Модератор
137394
1850
14.03.2022, 16:29
общий
Адресаты:
Делаю
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
14.03.2022, 20:36
общий
это ответ

Код:
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
Прикрепленные файлы:
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа