На одном из этапов рабочего процесса возник вопрос - Как заставить Excel автоматически переводить формулы в значения в файле с несколькими листами.
Решен он был довольно просто следующим макросом.
Код |
---|
Private Sub Workbook_Open() For Each ws In ActiveWorkbook.Worksheets ws.UsedRange.Value = ws.UsedRange.Value Next ws End Sub |
Однако в файле присутствует формула ВПР которая ссылается на несуществующие значения в третьем листе (они генерятся сервером) и получается что книга при скачивании имеет в себе столбец заполненный #Н/Д, при том что значения уже сгенерированы и вставлены сервером в нужный столбец. А потом "специально обученный человек" обновляет формулы и загружает файл дальше в систему.
Узнал на этом форуме что есть такое свойство Application.Calculation = xlAutomatic , однако никак не могу взять в толк как правильно его применить, так чтобы в скачанном файле с уже существующими значениями алгоритм сначала пересчитывал формулы, а уже потом менял их на значения.
Может быть подскажете как правильно применить автопересчет формул или придется писать аналог ВПР через макрос?