合并3张成1张
我想要一个脚本,从另一个工作簿中提取3个不同的工作表,并将数据堆叠在一个新的空白工作表中。
这似乎应该工作,但它不是:
Sub CombineSheets() Set NewSheet = Worksheets("Sheet2") Set MC = Workbooks.Open("S:\OtherWorkBook.xlsm") Set T1 = MC.Worksheets("T1") Set T2 = MC.Worksheets("T2") Set T3 = MC.Worksheets("T3") With T1 lastrow = .Range("A" & .Rows.Count).End(xlUp).Row .Range("A5:I" & lastrow).Copy NewSheet.Range("A" & wks.Rows.Count).End(xlUp) End With With T2 lastrow = .Range("A" & .Rows.Count).End(xlUp).Row .Range("A5:I" & lastrow).Copy NewSheet.Range("A" & wks.Rows.Count).End(xlUp) End With With T3 lastrow = .Range("A" & .Rows.Count).End(xlUp).Row .Range("A5:I" & lastrow).Copy NewSheet.Range("A" & wks.Rows.Count).End(xlUp) End With Workbooks("OtherWorkBook.xlsm").Close SaveChanges:=False End Sub
脚本运行,但没有被转储到NewSheet? 我错过了什么。 谢谢!
您缺lessDestination:=
.Copy
电话后。
With T1 lastrow = .Range("A" & .Rows.Count).End(xlUp).Row .Range("A5:I" & lastrow).Copy Destination:=NewSheet.Range("A" & NewSheet.Rows.Count).End(xlUp) End With
这对我有效。 我也改变了到NewSheet
。 因为你的代码没有明确说明什么是正确的。