У меня есть Excel с несколькими листами, и я пытаюсь сохранить каждый лист, кроме 4, используя VBA. Дело в том, что, если я попробую любой другой формат, кроме .csv, он сохранит весь excel, сделав лист для сохранения активным.
Это код, который я использую (тот, что с csv):
Public Sub SaveWorksheetsAsCsv()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim xDir As String
Dim folder As FileDialog
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
For Each s In Worksheets
If s.Name <> "Template" And s.Name <> "Interface" And s.Name <> "Accounts" And s.Name <> "Instr" Then
s.SaveAs xDir & "\" & s.Name, xlCSV
End If
Next
For Each s In Worksheets
If s.Name <> "Template" And s.Name <> "Interface" And s.Name <> "Accounts" And s.Name <> "Instr" Then
s.Delete
End If
Next s
End Sub
Я хочу сохранить его как xlsm, чтобы он сохранил все форматирование, которое есть в master Excel (автоматическое подгонка к столбцам и всем границам).
Понятия не имею, что с ним не так ...