簡體   English   中英

VBA,對於每個下一個 - 如果此工作簿中的工作表名稱等於另一個工作簿中的工作表名稱

[英]VBA, For Each Next - If sheet name in this workbook equals to a sheet name in another workbook

我有兩個工作簿,有些工作表具有相同的名稱。 我想將 Workbook TeamINSO 中工作表 A 中的一些數據導出(復制)到此工作簿(代碼所在的位置)到具有相同名稱的工作表中,但我被卡住了。 如何編寫:遍歷工作簿 TeamINSO 中的工作表,如果工作表名稱等於此工作簿中的工作表名稱,則復制范圍?

For Each ws In TeamINSO.Worksheets
    If ws.Name = ThisWorkbook.Worksheets(ws.Name) Then
        Workbooks(TeamINSO).Worksheets(ws.Name).Range("A3:C400").Copy
               ThisWorkbook.Worksheets(ws.Name).Range("A2").PasteSpecial xlPasteValues
    Else
    End If
Next ws

感謝您的幫助。

你可以這樣做:

Dim ws As Worksheet, wsD as Worksheet

For Each ws In TeamINSO.Worksheets
    'see if there's a match
    On Error Resume Next  'ignore error if no match
    Set wsD = ThisWorkbook.Sheets(ws.Name)
    On Error Goto 0       'stop ignoring errors
    'any match?
    If Not wsD Is Nothing Then
        'Transfer values 
        With ws.Range("A3:C400")
          wsD.Range("A2").Resize(.Rows.Count, .Columns.Count).Value = .Value
        End With
    End If

    Set wsD = Nothing 'set up for next iteration if any
Next ws

暫無
暫無

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

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