Excel VBA SaveAS только один лист - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть 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 (автоматическое подгонка к столбцам и всем границам).

Понятия не имею, что с ним не так ...

1 Ответ

0 голосов
/ 12 февраля 2020

Благодаря @Cyril я переключился на Sheets.Move и теперь все работает. Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...