Страницы: 1
RSS
Workbooks.Add
 
как создать книгу с одним листом строка у меня выглядет так Set CFOBook = Workbooks.Add, но создаеться 3 листа в книге
 
удалить лишние :)  
   Set CFOBook = Workbooks.Add  
   Application.DisplayAlerts = False  
   While CFOBook.Sheets.Count <> 1  
       CFOBook.Sheets(1).Delete  
   Wend  
   Application.DisplayAlerts = True
 
Sub NewBook()  
   Application.SheetsInNewWorkbook = 1  
   Workbooks.Add  
 
End Sub
 
из секретных архивов:  
 
Add method as it applies to the Workbooks object.  
 
Creates a new workbook. The new workbook becomes the active workbook. Returns a Workbook object.  
 
expression.Add(Template)  
 
expression   Required. An expression that returns a Workbooks object.  
 
Template  Optional Variant. Determines how the new workbook is created. If this argument is a string specifying the name of an existing Microsoft Excel file, the new workbook is created with the specified file as a template. If this argument is a constant, the new workbook contains a single sheet of the specified type. Can be one of the following XlWBATemplate constants: xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet, or xlWBATWorksheet. If this argument is omitted, Microsoft Excel creates a new workbook with a number of blank sheets (the number of sheets is set by the SheetsInNewWorkbook property).  
 
Remarks  
If the Template argument specifies a file, the file name can include a path.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Set WBN = Workbooks.Add(xlWBATWorksheet)    'создание новой книги с одним листом
 
Припоздал, но зато проверил (4 варианта):  
 
Sub tt()  
'создание новой книги с одним листом  
Set WBA = Workbooks.Add(xlWBATWorksheet)  
Set WBB = Workbooks.Add(1)  
Set WBC = Workbooks.Add(template:=xlWorksheet)  
 
Set sh = Workbooks.Add(-4167).Worksheets(1): sh.Name = "Массив"  
End Sub
 
В продолжение этой темы, здесь я выяснил, что создавать книгу с одним листом можно с помощью команды  
 
Set WBB = Workbooks.Add(1)  
 
а вот теперь у меня произошел косяк и я не знаю как создать книгу с тремя листами, потому что команда Set WBB = Workbooks.Add создает книгу с одним листом!
 
А если в команде Set WBB = Workbooks.Add(1) поменять единицу на 2 или тройку, то меняется тип книги, диаграмма или мокрокнига
 
Application.SheetsInNewWorkbook = 3
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Создать книгу с произвольным числом листов можно так:  
 
Sub bb()  
Dim defShNum&, WBB  
defShNum = Application.SheetsInNewWorkbook 'сохранить параметр  
Application.SheetsInNewWorkbook = 250      'не более 255  
Set WBB = Workbooks.Add  
Application.SheetsInNewWorkbook = defShNum 'восстановить параметр  
End Sub
Страницы: 1
Читают тему
Наверх