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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 19:44   #1
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию Объекты в VBA(Excel)

Разработать подпрограмму нахождения в выделенном диапазоне рабочей таблицы максимального и минимального значения по строкам и по столбцам. Элементы массива задать самостоятельно через функцию Inputbox.

Ввод элементов массива получился, но как найти остальное....
Код:
Public Sub r()
Dim stl As Integer
Dim str As Integer
Dim i As Integer
Dim j As Integer
stl = InputBox("Введите количество столбцов")
str = InputBox("Введите количество строк")
For i = 1 To stl
For j = 1 To str
Sheets("Лист1").Cells(i, j) = InputBox("Введите" & j & "элемент" & i & "строки")
Next j
Next i
End Sub
dimok5 вне форума Ответить с цитированием
Старый 21.02.2011, 20:53   #2
OLOSO
 
Регистрация: 21.02.2011
Сообщений: 7
По умолчанию

Сам по бейсику задал вопрос, но вот не много копипасты
Код:
'1.найти наименьшее из 3х чисел, введенных с Клавы
Sub prog002()

Dim i, j, k As Integer

i = CInt(Val(InputBox("BBEDITE i")))
j = CInt(Val(InputBox("BBEDITE j")))
k = CInt(Val(InputBox("BBEDITE k")))

If i < j Then
  If i < k Then MsgBox i Else MsgBox k
Else
  If j < k Then MsgBox j Else MsgBox k
End If

End Sub
Код:
Sub prog015()
Dim i As Integer, sum As Integer, otr As Integer
Dim m() As Integer


'8. * Ввести одномерный массив (8 элементов) и вывести в строку на экран.
'* Найти сумму всех переменных
'* Найти сумму отрицательных
'* Вывести числа стоящие на чётных местах
'* Заменить положительные элементы нулями и вывести результат
'''''''''''''i = CInt(Val(InputBox("BBEDITE i")))

For i = 1 To 8
m(i) = CInt(Val(InputBox("BBEDITE m(i)")))
Next i

sum = 0
otr = 0
 
For i = 1 To 8
  sum = sum + m(i)
  If m(i) < 0 Then otr = otr + m(i)
Next
MsgBox m(i)

MsgBox "SUM(m(i))= " & sum
MsgBox "SUM(m(i) < 0)= " & otr
 
For i = 1 To 8
  If (i Mod 2) = 0 Then MsgBox m(i)
Next
 
For i = 1 To 8
  If m(i) > 0 Then m(i) = 0
  MsgBox m(i)
Next

End Sub

Последний раз редактировалось OLOSO; 21.02.2011 в 20:55.
OLOSO вне форума Ответить с цитированием
Старый 23.02.2011, 22:30   #3
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию

как можно разбить код, чтобы выделение диапазона ячеек происходило после ввода массива?
Код:
Sub m_1()
Dim myArray As Variant
Dim i As Long
Dim j As Long
Dim Max As Variant
Dim Min As Variant
Dim stl As Integer
Dim str As Integer
 stl = InputBox("Введите количество столбцов")
 str = InputBox("Введите количество строк")
 For i = 1 To stl
  For j = 1 To str
   Sheets("Лист1").Cells(i, j) = InputBox("Введите" & j & "элемент" & i & "строки")
 Next j
 Next i
myArray = Selection
For i = 1 To UBound(myArray, 1)
    Max = myArray(i, 1)
    Min = myArray(i, 1)
    For j = 1 To UBound(myArray, 2)
        If myArray(i, j) > Max Then
            Max = myArray(i, j)
        ElseIf myArray(i, j) < Min Then
            Min = myArray(i, j)
        End If
    Next j
    Cells(i, 10).Value = "max" & " " & Max & " " & "min" & " " & Min
Next i
End Sub
dimok5 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA MS EXCEL ~Doka~ Свободное общение 1 31.01.2011 15:02
Excel (VBA) Bombastick Помощь студентам 1 27.12.2010 17:52
VBA в Excel A_naSTASiy_A Microsoft Office Excel 1 12.05.2010 18:59
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47