【发布时间】:2019-12-19 00:09:21
【问题描述】:
我有两个带有工作表的工作簿(具有相同的名称)。如果工作表的名称相同,我想将特定单元格从一个工作表复制并粘贴到另一个工作表。
我试图根据另一个工作簿中的名称将工作表的名称与数组进行比较,但在比较时会堆栈
Sub check()
Dim xArray, i
Dim x As Workbook
Dim ws As Worksheet
Set x = Workbooks.Open("C:\Users\user\Desktop\xxx.xlsx", False)
With x
ReDim xArray(1 To Sheets.Count)
For i = 1 To Sheets.Count
xArray(i) = x.Sheets(i).Name
Debug.Print xArray(i)
Next
End With
x.Close (False)
For Each ws In ThisWorkbook.Worksheets
If ws.Name = xArray Then
' copy for each worksheet define in xArray xxx.xlsx file, range A1,B4,D5:G5
' and paste to worksheet with the same name in this open workbook
End Sub
感谢您的帮助!
【问题讨论】:
-
未经测试,但对于匹配,您可以尝试
if isnumeric(application.match(ws.name,xarray,0)) then。 -
工作正常,谢谢!你能帮我定义有关复制和粘贴的其余代码吗?
标签: excel vba loops copy-paste worksheet