
[英]Apply one macro to another sheet/workbook regardless of sheet or workbook name
[英]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.