你好, 我之前在这里提的一个关于EXCEL的问题你帮忙解决了,现在又出了些问题,可否帮我看一下,谢谢了。
这是原来的问题:http://zhidao.baidu.com/question/282676336.html之前做的一直好用,但是在其他公司的EXCEL2003用时,在...
这是原来的问题:http://zhidao.baidu.com/question/282676336.html
之前做的一直好用,但是在其他公司的EXCEL2003用时,在这个循环会出错:
For r = 1 To 3
Workbooks(excelname).Sheets("Sheet" & r).Delete
Next r
我觉得可能是在他们公司新建的过程中只新建了一个Sheet1页,而我这里和后续的处理都是默认新建文件是Sheet1,Sheet2,Sheet3的情况编写的。
问一下可否将新建文件的代码设置一个属性,让其在新建的过程中直接新建为3个SHEET页?多谢。 展开
之前做的一直好用,但是在其他公司的EXCEL2003用时,在这个循环会出错:
For r = 1 To 3
Workbooks(excelname).Sheets("Sheet" & r).Delete
Next r
我觉得可能是在他们公司新建的过程中只新建了一个Sheet1页,而我这里和后续的处理都是默认新建文件是Sheet1,Sheet2,Sheet3的情况编写的。
问一下可否将新建文件的代码设置一个属性,让其在新建的过程中直接新建为3个SHEET页?多谢。 展开
3个回答
展开全部
问题好多啊!
首先,Excel工作簿中必须有一个工作表存在,不能全部删除的。
其次,代码是否应该改为:Workbooks("excelname").Sheets("Sheet" & r).Delete
少了2个引号吧!
至于你说的在新建的过程中直接新建为3个SHEET页,可以通过如下语句进行设置。
Application.SheetsInNewWorkbook = 3
首先,Excel工作簿中必须有一个工作表存在,不能全部删除的。
其次,代码是否应该改为:Workbooks("excelname").Sheets("Sheet" & r).Delete
少了2个引号吧!
至于你说的在新建的过程中直接新建为3个SHEET页,可以通过如下语句进行设置。
Application.SheetsInNewWorkbook = 3
更多追问追答
追问
我新建文件的代码是这样excelname = optArray(optValue) & ".xls"
Dim excelApp, excelWB As Object
Dim savePath As String
Set excelApp = CreateObject("Excel.Application")
Set excelWB = excelApp.Workbooks.Add
excelApp.DisplayAlerts = False
savePath = ActiveWorkbook.Path & "\" & excelname
excelWB.SaveAs savePath
请问Application.SheetsInNewWorkbook = 3 语句哪里加呢?
追答
Sub aa()
Dim aa As Integer
aa = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 3 '在新建工作簿时插入3张工作表
……
Application.SheetsInNewWorkbook = aa '恢复工作簿的默认设置
End Sub
放在Set excelWB = excelApp.Workbooks.Add这句代码前面,然后最后加一句恢复工作簿的默认设置
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询