Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA: хранение 2-d массива констант, Как хранить в коде и как обращаться к такому массиву
 
Всем большое спасибо за участие и предложенное решение!
VBA: хранение 2-d массива констант, Как хранить в коде и как обращаться к такому массиву
 
Цитата
Александр Моторин написал:
Если обращение частое в одной процедуре, то можно в начале процедуры загдать массив в словарь
У меня сложнее. Несколько процедур и функций из разных модулей будут смотреть этот массив.
Как я понимаю в таком случае можно сделать глобальный массив без явного определения при декларации + процедуру считывания массива из листа в массив vba запустить вначале основной процедуры и всех остальных нуждающихся (можно с проверкой задан ли массив и если нет - вызов заполнения)
VBA: хранение 2-d массива констант, Как хранить в коде и как обращаться к такому массиву
 
Идея понятна и проста. Но если я буду считывать с листа - займет много времени. Операция многократная.
Возможно есть внутренние механизмы?
VBA: хранение 2-d массива констант, Как хранить в коде и как обращаться к такому массиву
 
Добрый день
Прошу помочь как сохранить массив констант в коде модуля (или еще где) чтобы из процедуры можно было к нему обращаться.
Предполагается обращаться к нему часто и должно работать быстро как обращение так и инициализация (если она потребуется)

У меня два решения и оба меня не устраивают в полной мере
1) через Ar2 = Array (Array(2,3,5), Array(7,8,9), Array(11,45,68)) . Но тут  обращение получается не стандартное Ar(2,1), а Ar(2)(1)
2) через Ar2 = Evaluate("{2,3,5;7,8,9;11,45,68}"). Но у меня выдает ошибку Error 2015 на массиве длинном (20*30 double по 10 знаков), хотя на коротком работает исправно.

Есть еще вариант тянуть из файла txt/csv и/или заполнять массив поэлементно, но это долго по времени.

Возможно есть какие-то решения этой задачи?
Excel 2013 Медленно вычисляет пользовательские функции
 
В 2007 и 2010 и при копипасте не тормозит
Excel 2013 Медленно вычисляет пользовательские функции
 
Nic70y, Вот я не понимаю, почему он начинает ерундой заниматься. Что он делает, если пересчет занимает мало времени... Впечатление, что он каждый раз пересчет запускает после вычисления каждой ячейки, а не единый после вставки всех ячеек.
Excel 2013 Медленно вычисляет пользовательские функции
 
Не обратил внимание на вашу подпись. У меня WIN8, может поэтому?
Но не тормозит и быстро вычисляет у вас на компе при копипасте на большой диапазон. Верно?
Изменено: inkerman - 27.12.2013 15:00:40
Excel 2013 Медленно вычисляет пользовательские функции
 
Какой офис? 2013?
Скопировал, вставил в диапазон C2:C5868 и быстро сработало?
Я не трех компах проверил прежде чем постить сюда проблему.
Excel 2013 Медленно вычисляет пользовательские функции
 
У меня есть простейшая пользовательская функция IDENT( Range), которая определяет отступ у ячейки.
В 2007 и 2010 экселе она прекрасно и быстро работает, но в 2013 стала жутко медленно работать.
Обнаружил я просто: есть столбец, рядом пустой, в пустой нужно вставить значения отступов в основном столбце.
Я в первой ячейке прописываю формулу, копирую ячейку и вставляю в нужный диапазон (т.е. пустой диапазон рядом с основным диапазоном)
При этом Эксель зависает на секунд 60, медленно еле-еле делая расчет.
Если протянуть формулу, то занимает пару секунд. Но самый быстрый  вариант если отключить вычисления, вставить формулу и сделать пересчет, тогда занимает расчет доли секунды.

Но я в упор не понимаю почему в 2013 Экселе просто вставить формулу вызывает такие тормоза... В 2003, 2007 и 2010 такого не было.
Во вложении этот файлик.
Может кто-то сможет подсказать в чем проблема, а если она решается, то было бы вообще супер!
Страницы: 1
Наверх