我有以下代碼,我試圖將數據從一張表複製到另一張工作簿中。當我運行代碼時出現運行時錯誤-438運行時錯誤 - 438
Sub Copy()
Sheets("Sheet1").Range("A1:D20").Copy
Sheets("Sheet2").Activate
Range("E1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
我有以下代碼,我試圖將數據從一張表複製到另一張工作簿中。當我運行代碼時出現運行時錯誤-438運行時錯誤 - 438
Sub Copy()
Sheets("Sheet1").Range("A1:D20").Copy
Sheets("Sheet2").Activate
Range("E1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
請嘗試以下代碼。你不應該依賴激活和選擇。
Sub ZCopy()
Sheets("Sheet1").Range("A1:D20").Copy
Sheets("Sheet1").Paste Destination:=Worksheets("Sheet2").Range("E1")
Application.CutCopyMode = False
End Sub
趣聞
你有一份特別需要和粘貼?這可能很慢並且效率低下。如果您只是將數據從一張紙複製到另一張紙上,您可以將一個範圍的值設置爲等於另一個範圍的值,並避免整個事件。 Sheet 2上H20到那些在範圍A1相同的值::
Sheets("Sheet2").Range("E1:H20").Value = Sheets("Sheet1").Range("A1:D20").Value
這將設置範圍從細胞E1 D20 Sheet 1上,這是一個有效的複製和粘貼。我應該補充說,這隻適用於價值本身。
如果您需要複製和粘貼特定的格式(或公式),則此方法無效。
如果OP不需要格式或公式引用,這是一個更簡單的解決方案 –
它給了我錯誤說「成員已經存在於此目標模塊從中衍生的目標模塊中」 – taz
看起來您已經有一個名稱已經存在於您的項目中的子集 –
現在正常工作。 – taz