Запустите пустую книгу Excel без каких-либо листов - PullRequest
8 голосов
/ 27 июля 2010

Создание новой книги Excel, как в:

Dim xl As Excel.Application
Dim wb As Excel.Workbook
Set xl = New Excel.Application
xl.Visible = False
Set wb = xl.Workbooks.Add

Существует ли простой способ остановить Excel, автоматически создавая Sheet1, Sheet2, Sheet3?

Я всегда могу удалить эти ненужные листы потом, но это похоже на неуклюжее решение.

Ответы [ 4 ]

11 голосов
/ 27 июля 2010
xl.SheetsInNewWorkbook = 1

Дополнительная информация о MSDN (Прокрутите вниз до Add method as it applies to the Workbooks object.)

Полный код:

Dim xl As Excel.Application
Dim wb As Excel.Workbook
Dim restoreSheetsInNewWorkbook As Long

Set xl =  New Excel.Application
restoreSheetsInNewWorkbook = xl.SheetsInNewWorkbook
xl.SheetsInNewWorkbook = 1

Set wb = xl.Workbooks.Add
xl.SheetsInNewWorkbook = restoreSheetsInNewWorkbook 'or just set it to 3'
3 голосов
/ 13 мая 2015

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

dim wb as Workbook
Set wb = xl.Workbooks.Add(xlWBATWorksheet)
3 голосов
/ 27 июля 2010

Или вы можете:

Инструменты Excel 2003> Параметры> вкладка «Общие» и изменить «Листы в новой книге» на 1

Кнопка Office 2007 Excel> Параметры Excel> Популярный раздел> Когдасоздание новых рабочих книг ...> Включите эти многочисленные листы> 1

0 голосов
/ 08 сентября 2015
Sub DeleteSheets()
Dim DeleteSheet As Variant
Dim ws              As Worksheet
DeleteSheet = Array("Sheet1", "Sheet2", "Sheet3")

Application.DisplayAlerts = False

For Each ws In Worksheets

   If IsInArray(ws.Name, DeleteSheet) Then ws.Delete

Next

End Sub


Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
Dim i As Integer
Dim Ret As Boolean
Ret = False
For i = LBound(arr) To UBound(arr)
    If VBA.UCase(stringToBeFound) = VBA.UCase(arr(i)) Then
       Ret = True
       Exit For
    End If
Next i
IsInArray = Ret
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...