没有任何工作表开始空的Excel工作簿
创build一个新的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自动创buildSheet1,Sheet2,Sheet3?
之后,我总是可以删除这些不需要的表单,但是这感觉像是一个笨重的解决scheme。
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'
不能在没有任何工作表的情况下创build一个工作簿(据我所知),但是您可以使用单个工作表创build工作簿, 而不会混淆用户的设置。
dim wb as Workbook Set wb = xl.Workbooks.Add(xlWBATWorksheet)
或者你可以:
Excel 2003工具“>”选项“>”常规“选项卡,然后将”新工作表中的工作表“更改为1
Excel 2007 Officebutton> Excel选项>常用部分>创build新工作簿时>>包括这么多工作表> 1
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
- System.AccessViolationException:试图读取或写入受保护的内存
- 从java程序打开一个excel文件
- 如何查找string列表中是否存在子string(如果是,则返回列表中的完整值)
- 如何从包含5000条logging的Excel文件插入到documentDB中?
- input框中的取消button在Excel单元格中的值没有改变
- 如何sortingsorting的数据(Excel VBA)
- 为什么我的macros不会删除所有的行(VBA)
- Excel VBA – RemoveDuplicates方法不适用于Mac
- 为什么我的全局variables在Excel VBA的其他模块中不被识别?