Другие языки программирования и технологии
Проблема с Visual Basic в Excel
Задача: Для матрицы A i, j=4, заданной случайным образом в интервале [-10,10], напечатать столбец, содержащий максимальное количество отрицательных элементов. Проблема в том, что я не знаю, как напечатать столбец в отдельной ячейке Excel Помогите, кому не сложно. Заранее спасибо!
Немного сумбурное задание, я так понял, что есть таблица 4 на 4, в которой стоят числа от -10 до 10, и надо выбрать столбец, в котором максимальное количество отрицательных элементов.
Пусть таблица располагается в ячейках от A1 до D4, или, что то же самое, от Rows(1).Cells(1) до Rows(4).Cells(4).
dim k(4) as integer, i as integer, j as integer, max as integer, max_m as integer
for m = 1 to 4 ' Цикл по столбцам
k(m) = 0 ' Счетчик отрицательных чисел в столбце обнуляем
for n = 1 to 4 ' Цикл по строкам
if Rows(n).Cells(m) < 0 then k(m) = k(m) + 1 ' Если очередное число меньше 0, счетчик увеличиваем
next n
next m
max = 0: max_m = 1 ' Ищем столбец с максимальным количеством отрицательных чисел
for m = 1 to 4 ' Цикл по столбцам
if k(m) > max then ' Если очередное k(m) больше максимального
max = k(m) ' Запоминаем максимальное k(m)
max_m = m ' И номер столбца
end if
next m
for n = 1 to 4 ' Цикл по строкам
Rows(n).Cells(6) = Rows(n).Cells(max_m) ' печатаем в 6 колонке нужный столбец
next n
end
Пусть таблица располагается в ячейках от A1 до D4, или, что то же самое, от Rows(1).Cells(1) до Rows(4).Cells(4).
dim k(4) as integer, i as integer, j as integer, max as integer, max_m as integer
for m = 1 to 4 ' Цикл по столбцам
k(m) = 0 ' Счетчик отрицательных чисел в столбце обнуляем
for n = 1 to 4 ' Цикл по строкам
if Rows(n).Cells(m) < 0 then k(m) = k(m) + 1 ' Если очередное число меньше 0, счетчик увеличиваем
next n
next m
max = 0: max_m = 1 ' Ищем столбец с максимальным количеством отрицательных чисел
for m = 1 to 4 ' Цикл по столбцам
if k(m) > max then ' Если очередное k(m) больше максимального
max = k(m) ' Запоминаем максимальное k(m)
max_m = m ' И номер столбца
end if
next m
for n = 1 to 4 ' Цикл по строкам
Rows(n).Cells(6) = Rows(n).Cells(max_m) ' печатаем в 6 колонке нужный столбец
next n
end
Andy Yarmysh
Спасибо Вам огромное, будем разбирать=) Как сервис поднимут - поставлю +5 и лучший ответ=)
а как это "столбец в ячейке"??? я что-то не понимаю
Andy Yarmysh
Извините, неправильно сформулировал. Записать имеющиеся значения в столбец
ActiveSheet.Cells(2, 2).Value = 2
пример присвоения ячейке значения.
пример присвоения ячейке значения.
Похожие вопросы
- Visual Basic и Excel (+)
- Visual Basic в Microsoft Excel
- Продаю программу с исходниками на Visual Basic 2008 за 50 руб.
- Подойдет ли самоучитель по Visual Basic .NET для освоения языка Basic, человеку не понимающему в программировании?
- Почему в Excel вместо Visual Basic не внедрить C# ?
- Visual Basic или C#
- Нужна помощь по Visual Basic
- visual basic 6
- visual basic 2008
- Программа на Microsoft Visual Basic 2008