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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2009, 13:38   #1
zmax123
 
Регистрация: 15.03.2009
Сообщений: 3
Вопрос Помогите написать макрос!!!

В Excel имеется столбик с данными:

А-название столбика
1-я строка 5
2-я строка 1
4
8
2
9
.....
100-я строка 4

Необходимо каждое значение в столбике возвести в квадрат, а затем взять 20 первых строк и подсчитать по формуле КОРЕНЬ((А1^2+А2^2+...+A20^2)/2), потом взять 20 следующих строк выполнить тоже самое и так до 100 строки. Затем необходимо полученные рассчетные данные вывести в столбик, например

С
5
7
3
1
4

То есть будет пять значений!

Заранее очень Вас благодарю!!!
zmax123 вне форума Ответить с цитированием
Старый 15.03.2009, 14:25   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Выберите 5 пустых ячеек на листе, и введите в них формулы:
Код:
=КОРЕНЬ(СУММКВ($A$1:$A$20)/2)
=КОРЕНЬ(СУММКВ($A$21:$A$40)/2)
и т.д.
EducatedFool вне форума Ответить с цитированием
Старый 15.03.2009, 16:01   #3
zmax123
 
Регистрация: 15.03.2009
Сообщений: 3
По умолчанию

Да нет, тут все сложнее, 100 строк я привел в качестве примера. В действительности у меня 45000 строк, поэтому без макроса тут никак. Если Вы поможите написать макрос на примере 100 строк, то на 45000 я уже сам переделаю! Очень нужна помощь!!!!!
zmax123 вне форума Ответить с цитированием
Старый 15.03.2009, 22:39   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
В действительности у меня 45000 строк, поэтому без макроса тут никак
Неужели?
Пишем в первую ячейку формулу
Код:
=КОРЕНЬ(СУММКВ(ДВССЫЛ("$A$"&(СТРОКА()-1)*20+1&":$A$"&СТРОКА()*20))/2)
и растягиваем эту формулу на нужное количество строк (2250)

Ну а если так надо макрос, пожалуйста:
Код:
Sub макрос()
    Application.ScreenUpdating = False
    For i = 1 To ActiveSheet.UsedRange.Rows.Count / 20
        Cells(i, 4).FormulaLocal = "=КОРЕНЬ(СУММКВ($A$" & (i - 1) * 20 + 1 & ":$A$" & i * 20 & ")/2)"
    Next
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 16.03.2009, 14:02   #5
zmax123
 
Регистрация: 15.03.2009
Сообщений: 3
По умолчанию

Спасибо большое! Пойду пробовать!!!
zmax123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать макрос Urban Microsoft Office Excel 3 03.03.2009 22:28
Помогите написать макрос для... КотФиларет Microsoft Office Word 15 24.01.2009 23:00
Помогите написать макрос для... КотФиларет Microsoft Office Word 6 23.01.2009 00:35
Помогите написать макрос Neo007 Microsoft Office Excel 4 24.10.2008 07:25
помогите, пожалуйсто, написать макрос для excel bacalavr Microsoft Office Excel 2 04.04.2008 11:39