Я полностью работаю в VBA для Excel. Мое решение должно быть полностью программным, а не управляемым пользователем. Требование к решению заключается в том, что пользователь инициирует один макрос, чтобы взять рабочую книгу и сохранить 8 листов в отдельные файлы CSV, сохраняя формулы и отбрасывая разрешения формул. У меня есть массив листов (шт), которые я перебираю и сохраняю. Следующий код делает это отлично.
For i = LBound(sht) To UBound(sht)
If (SheetExists(csv(i))) Then
Sheets(sht(i)).SaveAs _
fullpath & csv(i) & ".csv", _
FileFormat:=xlCSV, _
CreateBackup:=False
End If
Next i
Где полный путь содержит полный путь к месту сохранения файла, и я написал логическую функцию, которая проверяет, существует ли лист в книге.
Проблема:
Мне нужно, чтобы документы CSV содержали формулы Excel, а не то, к чему они относятся. Результаты формул могут быть отброшены. На сайте Microsoft написано:
Если в ячейках отображаются формулы вместо значений формул, формулы преобразуются в текст. Все форматирование, графика, объекты и другое содержимое листа будут потеряны. Символ евро будет преобразован в знак вопроса.
Это означает, что функция SaveAs, вероятно, никогда не будет делать то, что я хочу, но мне нужен какой-то способ создания файла. В идеале я хотел бы сохранить способность Excel избегать ячеек CSV в такте. Файлы CSV будут считываться программами на Java и SQL, которые могут при необходимости правильно анализировать функции Excel.