Как исправить ошибку VBA «Не удается сохранить «.xlsm» в «.xlsx»»?

Я делю книгу на несколько магазинов.

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

и после этого я хочу создать новую книгу, сохранив файл ".xlsm" в ".xlsx"

Но после запуска кода у меня появляется всплывающее сообщение с вопросом, хочу ли я «продолжить сохранение в виде книги без макросов».

Если я нажму да, у меня будет сообщение об ошибке:

1004 VB Projects and XLM sheets cannot be saved in a macro-free workbook

Что я могу сделать, чтобы исправить это?

это код для сохранения новой книги:

Dim Fname As String

Fname = "02.VIM_REPORT MENSAL - " & Worksheets("aux").Range("V2") & " - " & Worksheets("aux").Range("V3") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=Fname, FileFormat:=xlOpenXMLWorkbook

    ActiveWorkbook.Close False

вы неправильно указали параметр fileFormat. Вы сохраняете формат xml.

QuickSilver 27.05.2019 18:01

Но когда я ищу формат файла, "Open XML Workbook" предназначен для расширений ".xlsx"...

Vanessa Goncalves 27.05.2019 18:08

Проверьте мой ответ ниже. Существует несколько форматов, использующих расширение .xlsx: см. этот связь

AAA 27.05.2019 18:14
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
3
1 594
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Измените эту строку кода на: ActiveWorkbook.SaveAs Filename:=Fname, FileFormat:=xlWorkbookDefault

просто отключите оповещения.

попробуй с

Application.DisplayAlerts = False

Dim Fname As String

Fname = "02.VIM_REPORT MENSAL - " & Worksheets("aux").Range("V2") & " - " & Worksheets("aux").Range("V3") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=Fname, FileFormat:=xlOpenXMLWorkbook

ActiveWorkbook.Close False

Application.DisplayAlerts = True

удачи

Спасибо за помощь по всплывающим окнам. С этим и изменением формата файла все работает :)

Vanessa Goncalves 27.05.2019 18:20

Другие вопросы по теме