我有一個包含10個工作表的Excel工作簿。 我想有一個宏能夠將「Sheet3」,「Sheet4」,「Sheet5」,「Sheet6」和「Sheet7」的所有內容複製到當前爲空的「Sheet10」中,一個接一個地。將選定工作表的內容複製並粘貼到新工作表中
「Sheet3」,「Sheet4」,「Sheet5」,「Sheet6」和「Sheet7」的內容並不總是相同的,所以我希望這個宏可以複製所有的內容,而不僅僅是一個固定的範圍。
我有一個包含10個工作表的Excel工作簿。 我想有一個宏能夠將「Sheet3」,「Sheet4」,「Sheet5」,「Sheet6」和「Sheet7」的所有內容複製到當前爲空的「Sheet10」中,一個接一個地。將選定工作表的內容複製並粘貼到新工作表中
「Sheet3」,「Sheet4」,「Sheet5」,「Sheet6」和「Sheet7」的內容並不總是相同的,所以我希望這個宏可以複製所有的內容,而不僅僅是一個固定的範圍。
Excel有許多SpecialCells方法,其中一個方法可以找到工作表中最後使用的單元格。出於某種原因,宏將記錄爲.SpecialCells(xlLastCell),而Excel幫助/引用聲明它是.SpecialCells(xlCellTypeLastCell),您也可以使用值11. 下面的所有三個宏都將從當前單元格到表單中的最後一個單元格。
Sub Macro1()
' Macro1 Macro
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
End Sub
Sub Macro2()
' Macro1 Macro
Range(Selection, ActiveCell.SpecialCells(xlCellTypeLastCell)).Select
End Sub
Sub Macro3()
' Macro1 Macro
Range(Selection, ActiveCell.SpecialCells(11)).Select
End Sub
這是一個非常基本的例子,它將複製sheet1和sheet2中的數據並將其附加到sheet3中。
Sub Macro4()
Sheets("Sheet1").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet3").Select
ActiveCell.SpecialCells(xlLastCell).Select
Selection.Offset(1, 0).Select
Selection.End(xlToLeft).Select
ActiveSheet.Paste
Sheets("Sheet2").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet3").Select
ActiveCell.SpecialCells(xlLastCell).Select
Selection.Offset(1, 0).Select
Selection.End(xlToLeft).Select
ActiveSheet.Paste
End Sub
使用excel內置錄製功能來記錄您的操作並根據您的要求修改代碼,併發布代碼以確切的問題阻止您繼續前進。 – Barney
我無法錄製它,因爲Consolidate函數不允許我簡單地將表單複製並粘貼到另一個空的表單中。 – Anne
列數保持不變嗎? –