我有一个表单可以为用户导出和编辑excel文件。尝试让我的代码从Access 2010 VBA代码中删除现有工作表时出现问题。
我的代码:
Private Sub Command0_Click()
Dim xl As Excel.Application
Dim wb As Excel.Workbook
Dim sht As Excel.Worksheet
Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Open("C:\Users\Me\Desktop\Document.xlsx")
For Each sht In wb.Worksheets
If sht.Name = "DeleteSheet" Then
wb.Worksheets("DeleteSheet").Delete
End If
Next sht
wb.Save
wb.Close
xl.Quit
End Sub
当我运行代码时,没有错误。但是,工作表不会被删除。我知道sht.Name会读取工作表名称“DeleteSheet”,允许if
语句运行。因此,我认为它归结为保存方法或此行:wb.Worksheets("DeleteSheet").Delete
。 TIA!
答案 0 :(得分:0)
可以直接删除工作表,即
而不是
wb.Worksheets( “DeleteSheet”)。删除
使用
sht.Delete
答案 1 :(得分:0)
你能尝试这样的事吗,瑞安?
Dim xl As Object
Dim wb As Excel.Workbook
Dim sht As Excel.Worksheet
Set xl = CreateObject("Excel.Application")
xl.Application.DisplayAlerts=False
Set wb = xl.Workbooks.Open("C:\Users\Me\Desktop\Document.xlsx")
For Each sht In wb.Worksheets
If sht.Name = "DeleteSheet" Then
wb.Worksheets("DeleteSheet").Select
xl.ActiveSheet.Delete
End If
Next sht
wb.Save
wb.Close
xl.Quit