MS Access vba删除excel工作表(2010)

时间:2018-02-06 17:04:37

标签: excel ms-access access-vba

我试图从MS Access中删除工作表。

表格上有很多数据,包括两张图表。我想删除工作表并重新添加,而不是试图删除所有数据。

我已经查找了几种删除MS Access工作表的方法,并发现以下.delete是最简单的,但它不起作用。 "如果不是"工作并通过.delete语句,但.add(在......之后)失败。

我显然有些不对劲,感激不尽。

Dim wkb as excel.workbook
Dim wksheetname as excel.worksheet
Dim strsheetname as string

wkb.Activate

On Error Resume Next
    Set wksSheetName = wkb.Sheets(StrSheetName)
On Error GoTo 0

If Not wksSheetName Is Nothing Then
    wkb.Sheets(StrSheetName).Delete
    Set wksSheetName = Nothing
End If

wkb.Sheets.Add(After:=wkb.Sheets(wkb.Sheets.Count)).Name = StrSheetName
Set wksSheetName = wkb.Sheets(StrSheetName)

1 个答案:

答案 0 :(得分:0)

这个稍微简单的方法适用于此:

Const WorksheetName As String = "Sheet2"

Dim Workbook        As Excel.Workbook
Dim Worksheet       As Excel.Worksheet

Set Workbook = ThisWorkbook

For Each Worksheet In Workbook.Worksheets
    If Worksheet.Name = WorksheetName Then
        Worksheet.Delete
        Exit For
    End If
Next
Set Worksheet = Workbook.Worksheets.Add(After:=Workbook.Worksheets(Workbook.Worksheets.Count))
Worksheet.Name = WorksheetName