|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.04.2011, 22:34 | #1 |
Пользователь
Регистрация: 28.02.2011
Сообщений: 42
|
Как оптимизировать?
Подскажите пожалуйста, как правильно оптимизировать код для ускорения подсчетов. Проблема такая - во вложении есть файл с написанным кодом для подсчета значений. Хотелось бы оптимизировать код для ускорения его работы (ведь количество строк данных может быть очень большое). Что именно хочу сделать - так это избавиться от заполнения листа промежуточными вычислениями (важны столбцы подсвеченные красным цветом). Хотел запихать все эти столбцы в массивы и дальше работать с ними внутри кода. Наткнулся на такую проблему, попробую наглядно изобразить. Пусть в A и B столбцах имеютя какие либо данные, тогда:
Код:
|
02.04.2011, 07:30 | #2 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Код:
Так, например, для рассматриваемой строки: Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 02.04.2011 в 07:37. |
|
02.04.2011, 07:30 | #3 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
**********
Чем шире угол зрения, тем он тупее.
|
02.04.2011, 07:51 | #4 |
Пользователь
Регистрация: 28.02.2011
Сообщений: 42
|
Вот я и хочу в принципе посчитать все внутри VBA, просто изначально это был лист с формулами, по мере моего изучения VBA - появился этот код, теперь я уже понял, что не обязательно все расчеты вести на листах книги - поэтому и хочу оптимизировать код записав все промежуточные вычисления в массивы, проделав с ними внутри кода все операции и заполнив в итоге лист только теми данными, которые собственно и хотел получить.
Спасибо за приведенные примеры, я это и хотел узнать. У меня еще один вопрос из кода: Код:
Код:
Спасибо, синтаксис именно такой, какой нужно было узнать. |
02.04.2011, 08:42 | #5 |
Пользователь
Регистрация: 28.02.2011
Сообщений: 42
|
И еще вопрос
Код:
Последний раз редактировалось А)-(дрей; 02.04.2011 в 08:45. |
02.04.2011, 09:24 | #6 |
Пользователь
Регистрация: 28.02.2011
Сообщений: 42
|
Понял... вообще не так делаю, массивы создаю с текстами формул, а не с их значениями. Последний пост тогда вообще смысла не имеет.
Нужно тогда пользоваться принципом Код:
Код:
Последний раз редактировалось А)-(дрей; 02.04.2011 в 09:48. |
02.04.2011, 10:58 | #7 | ||||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Код:
Код:
Цитата:
Код:
Цитата:
Код:
Цитата:
Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 02.04.2011 в 11:41. |
||||
02.04.2011, 12:02 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
SAS888, можно мне спросить?
Ведь работает и так: Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
02.04.2011, 12:36 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Отличия между массивами М5 и М6 видно.М6 заполнен 0
Код:
Анализ,обработка данных Недорого
|
02.04.2011, 12:47 | #10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Так работать будет. Но в данном случае, Вы делаете то же самое, т.е. переопределяете неопределенный (не объявленный ранее) массив (ReDim M6(1 To Data)). Если же определять массив (Dim M6(1 To Data), как пробовал делать автор вопроса, то будет ошибка. Описание Dim M6() нужно так же для того, чтобы массив был пуст.
Чем шире угол зрения, тем он тупее.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как оптимизировать код C++ | slim>>> | Помощь студентам | 10 | 25.01.2011 00:05 |
Очень большой цикл, как оптимизировать? | Marsel737 | Общие вопросы Delphi | 3 | 06.09.2010 10:08 |
Как оптимизировать код Delphi | OST_K | Помощь студентам | 1 | 30.05.2010 06:59 |
Как оптимизировать плиззз | alex181264 | Microsoft Office Excel | 3 | 13.04.2009 06:27 |
как может оптимизировать в фунцию? | w1ze | Помощь студентам | 2 | 07.01.2008 23:19 |