簡體   English   中英

VBA代碼問題,用於從Excel工作簿中的多個工作表復制和粘貼相同的列

[英]VBA code issue for copying and pasting same columns from multiple sheets in excel workbook

代碼有問題。

Excel工作簿有4張紙。 該工作簿會定期更新。

-Sheet1是我要將數據粘貼到的地方。

-Sheets2-4具有我要獲取的數據。

-范圍“ A2:B2”是Sheets2-4中數據所在的位置。 數據需要粘貼在Sheet1中的相同范圍內。 沒有數據粘貼。

下面的代碼導致A2:B2僅在Sheet2-4中選擇,並且在Sheet1中選擇並復制了相同的范圍。

任何幫助,將不勝感激。

Sub test()

    Worksheets.Select
    Range("A2:B2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Sheet1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

您的代碼是從工作表1復制/粘貼到工作表1。

  1. 代碼的第一行選擇所有工作表。
  2. 然后,它選擇第一張紙的當前范圍,並將相同的選擇應用於所有紙。
  3. 當您在多張紙上復制所選內容時,只會復制第一張紙。
  4. 然后,將sheet1粘貼到sheet1。

    • 您不能在一個命令中從多張紙進行復印。
    • 如果可以的話,也無法將3張紙中的值粘貼到1張紙中的相同目標范圍中。

您的問題表明,您只需要范圍A2:B2,但是您的代碼會在代碼下方選擇已使用的范圍,如果您只需要范圍A2:B2,則這是不必要的。

以下是一些可從一張紙復制/粘貼的代碼:

Sub CopyPaste()
Worksheets("Sheet2").Range("A2:B2").Copy Destination:=Worksheets("Sheet1").Range("A2:B2")
End Sub

如果您希望復制活動表,則從上面的代碼中刪除表引用:

Sub CopyPaste()
Range("A2:B2").Copy Destination:=Worksheets("Sheet1").Range("A2:B2")
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM