У меня есть документ Excel, который заполняет матрицу, используя формулу, например;

 |  A  |  B  |  C  
1|=1+2 |=2+2 |     
2|     |     |=4-1

будет отображаться как;

 |  A  |  B  |  C  
1|3    |4    |     
2|     |     |3

Затем я хочу экспортировать результаты в файл CSV. Я нашел в Интернете руководство по экспорту только выделенного листа в файл CSV, но, очевидно, это экспортируется в файл как;

 |  A  |  B  |  C  
1|=1+2 |=2+2 |     
2|     |     |=4-1

Я, вероятно, использовал плохой пример, так как в моей задаче формула ссылается на другой лист в книге, поэтому выбрасывает #REF! ошибка.

Есть ли способ экспортировать / скопировать результат формулы вместо самой формулы?

1 ответ1

1

Поэтому после того, как Тайсон заставил меня задуматься о Paste Special, я обнаружил, что вы можете сделать это в VBA;

Sub testexport()
     '
     ' export Macro

    Range("B20:AA45").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Select

    Selection.PasteSpecial Paste:=xlPasteValues

    ActiveWorkbook.SaveAs Filename:= _
    "C:\!LOCAL_STORE\Book2.csv" _
    , FileFormat:=xlCSV, CreateBackup:=False
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .