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

Страницы: 1
VBA вырезать слой из массива
 
Дан заполненный двумерный массив.

Код
Dim myArr(1 to 2, 1 to 5)

Мне это представляется как два массива с размером (1 to 5) в каждом.
Так вот, можно ли вырезать из этого массива целый слой в новую переменную?
Хочется без цикла, каким-нибудь нативным способов.
Чтобы получилось так:

Код
Dim NewArr(1 to 5)

CutDimenstionToArray myArr,2,NewArr    'произвольная функция, но думаю суть понятна. Из массива вырезается второй слой

Debug.print myArr(2,1) = NewArr(1) 'True
Debug.print myArr(2,2) = NewArr(3) 'True
Debug.print myArr(2,3) = NewArr(3) 'True
Debug.print myArr(2,4) = NewArr(4) 'True
Debug.print myArr(2,5) = NewArr(5) 'True
VBA Можно ли сохранить переменную после закрытия файла?
 
Ситуация такая, что вначале многих частовызываемых макросов около 15 минут создается коллекция файлов, с которыми буде дальнейшая работа. Коллекция создается каждый раз одна и так же.

Есть ли способ как-то сохранить коллекцию для последующей работы с ней при следующем открытии файла, т.е. чтобы она не очищалась после закрытия файла?
Автоматичское обновление данных при изменении источника
 
Доброе время суток!
Такая проблема: открыты две книги: книга- источник, и конечная книга.
При изменении данных в книге-источнике, цифры в конечной книге не обновляются.

Но. Такая ситуация получается только если книгу-источник открыть через ссылку в конечной книге.
Если книгу-источник открыть из папки, такой проблемы не наблюдается.

Добавлю, что обе книги находятся на сетевом диске, в одной папке.
Макрос для замены части формулы
 
Здравствуйте!

Такая проблема.
Есть 10 файлов, с 12 листами в каждом.
В каждой ячейке столобца(допустим "H35" ;)  нужно заменить часть формулы.

Например: =ЕСЛИ(МИН(прямая ссылка на ячейку др файла;J35=0;I35=0);"Указать";G35-$I35-$J35-$K35-$L35)
Заменить на =ЕСЛИ(МИН(прямая ссылка на ячейку др файла;K35=0;L35=0);"Указать";G35-$I35-$J35-$K35-$L35)
И таких 200 формул на листе.

Что пробовал и не работает. (Просто не заменяет)

sub zamena()
Range("H35" ;)  .Formula = Replace(Range("H35"  ;)  .Formula, "J35=0;I33=0", "K35=0;L35=0"  ;)  
End sub

и

sun zamena()
Range("H35" ;)  .Formula.Replace What:="J35=0;I33=0", Replacement:="K35=0;L35=0", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Изменено: evolit - 13.09.2013 10:41:53
Страницы: 1
Наверх