我想從一個工作表複製多行到另一個,我有一個工作表在A2行開始和結束於A108850數據,它開始於A2列並在I2列結束,我如何將所有數據複製到另一個工作表中,其中行以A4開頭,列以A4開頭,並以I4結束。Excel:複製並粘貼多個行和列從一個工作表到另一個
我怎麼可能通過一些宏?
謝謝。
我想從一個工作表複製多行到另一個,我有一個工作表在A2行開始和結束於A108850數據,它開始於A2列並在I2列結束,我如何將所有數據複製到另一個工作表中,其中行以A4開頭,列以A4開頭,並以I4結束。Excel:複製並粘貼多個行和列從一個工作表到另一個
我怎麼可能通過一些宏?
謝謝。
相應試試這個
Worksheets("Sheet1").Range("A2:I108850").Copy Worksheets("Sheet2").Range("A4")
變化的範圍內引用,工作表的名稱。
複製&粘貼是一個「昂貴」的操作,更大的範圍內,更昂貴的操作
你應該關注的只是值,你可以試試這個:
Worksheets("DestinationSheetName").Range("A2:I108850").Value = Worksheets("SourceSheetName").Range("A2:I108850").Value
編輯在OP的評論之後
如果上次評論中的代碼僅具有粘貼值的相同目標,則將第二條語句更改爲以下內容:
With Worksheets("Sheet1").Range("A2:I108850") '<--| reference the "source" range you want to paste values from
.Range("A4").Resize(.Rows.Count, .Columns.Count).Value = .Value '<--| resize "destination" range accordingly to "source" one and paste values into it
End With
當然,你必須檢查工作表名稱的
是有效的人對當前活躍工作簿
我應該創建一個宏或在Microsoft VB模塊中嘗試腳本? – DevanDevak
這段代碼將被放置在一個「子程序」中,您可以在VBA模塊中編寫該子程序,並且最終通過將其關聯到工作表按鈕或按Alt-F8並從列表框中選擇子程序名稱 – user3598756
我已經這樣做了,但它給了我一個語法錯誤: Sub Copy() Worksheets(「Performance MMT」)。Range(「A2:I108850」)。Value = Worksheets(「Moscow」)。Range(「 A2:I108850「)。ValueWorksheets(」Sheet1「)。Range(」A2:I108850「)。Copy Worksheets(」Sheet1「)。Range(」A4「) End Sub – DevanDevak
你嘗試過這麼遠嗎? SO不是代碼寫入服務。看[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。除此之外,我建議你嘗試一下宏記錄器,並按照你剛剛描述的那樣進行手動描述,然後讓代碼執行此操作:) – DragonSamu
我不會使用宏記錄器來創建宏,因爲性能較差。使用正確的代碼將使宏成百上千(?)倍更快。 –
@ErikBlomgren我也不會,但OP沒有提供任何代碼。因此,從宏記錄器開始或嘗試編碼的東西是第一個開始,不提供OP與安裝程序 – DragonSamu