簡體   English   中英

VBA復制並粘貼一個單元格與另一個單元格

[英]vba copy and paste one cell vs another

我是VBA的極端新手,只是發現自己參與其中,因為在我研究時,這似乎是在excel中完成我想要的唯一方法。

在這種情況下,我有一個按鈕,應該將數據從G或K中的指定單元格復制到同一工作表中指定單元格的不同位置。

從G16:G18或K16:K18復制數據的第一部分可以無縫工作。 我想知道是否是因為這些單元格中沒有公式,只有數字。

但是,代碼的下一部分似乎僅從K21或K19復制,並且我不確定為什么這種情況一直發生。 我在這些單元格中有公式,並且我相信由於順序原因,它只是從最后一個有效范圍復制結果,即使結果為“”。

以下是我現在擁有的代碼:

Private Sub CommandButton2_Click()
        ActiveSheet.Range("G16:G18").Copy
        ActiveSheet.Range("P38:P40").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

        ActiveSheet.Range("K16:K18").Copy
        ActiveSheet.Range("P38:P40").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

        ActiveSheet.Range("G21").Copy
        ActiveSheet.Range("K39").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

        ActiveSheet.Range("G17").Copy
        ActiveSheet.Range("K40").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

        ActiveSheet.Range("K21").Copy
        ActiveSheet.Range("K39").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

        ActiveSheet.Range("K19").Copy
        ActiveSheet.Range("K40").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

End Sub

是因為粘貼值? 有沒有解決的辦法?

非常感謝任何見識!

查看粘貼到的位置,粘貼到K39,然后粘貼到K40,然后再次粘貼到K39,然后K40再次覆蓋以前的粘貼,因此它總是看起來好像沒有在做第一個副本,因為第二個已超過頂部。

暫無
暫無

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

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