簡體   English   中英

VBA-從另一個工作簿調用

[英]VBA - Calling from another workbook

嘗試根據另一個工作簿工作表中的數據刪除工作表-通過比較和訪問另一個工作簿工作表中的數據,但是它不起作用。 如果工作表在同一工作簿中,則可以執行此操作,但是我不想每次都導入工作表。

到目前為止的代碼,我的問題是從另一個工作簿工作表調用。

sub delete()
     Dim wb As Workbook
     Dim wks As Worksheet
     Dim MyRange As Range
     Dim Cell As Range
     Set wb = Workbooks("name.xlsx")
     Set wks = wb.Worksheets("allnames")
     With wks
        Set MyRange = wks.Range("A1", .Cells(.Rows.Count, "A").End(xlUp))
     End With
     On Error Resume Next
     Application.DisplayAlerts = False
     For Each Cell In MyRange
         Sheets(Cell.Value).Delete
     Next Cell
     Application.DisplayAlerts = True
     On Error GoTo 0
End Sub

提前致謝

也許您正在追求這樣的事情:

Option Explicit

Sub delete()
     Dim toDeleteSheetsWb As Workbook
     Dim Cell As Range

     Set toDeleteSheetsWb = Workbooks("WorkbookWithSheetsToDelete.xlsx") '<-- set the workbook whose sheets will be deleted (change "WorkbookWithSheetsToDelete.xlsx" to its actual name)
     With Workbooks("name.xlsx").Worksheets("allnames") '<-- reference the worksheet from which to read worksheets names to be deleted in "WorkbookWithSheetsToDelete.xlsx" workbook
        Application.DisplayAlerts = False
        For Each Cell In .Range("A1", .Cells(.Rows.Count, "A").End(xlUp))
            toDeleteSheetsWb.Sheets(Cell.Value).delete
        Next Cell
        Application.DisplayAlerts = True
     End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM