选择要复制和粘贴的两个单元格

时间:2016-05-18 07:07:11

标签: vba

我只是刚开始接受VBA和Python,所以请原谅我的无知。我尝试编写可以在两个单元格之间进行选择的代码并粘贴非空白单元格。

目前我想出的是:

Sub ManualCopyEqual()
    Set wS1 = Sheets("Neptune")
    Set wS2 = Sheets("Contact")

    wS1.Range("U2:U102").Copy
    wS2.Range("R3:R102").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:=         False, Transpose:=False

End Sub

这允许我从wS1复制行U并粘贴到wS2。但是,如果行U中的单元格为空,我想编写一些能够从行V复制信息的代码。

换句话说,如果U2为空,我如何编码使V2复制到R3而不是将空白U2复制到R3?

任何帮助都会非常感激!! :)

此致 票据

2 个答案:

答案 0 :(得分:0)

如果您只想复制一个单元格,那么

If wS1.Range("U2").Value = "" Then
   wS1.Range("V2").Copy Destination:= wS2.Range("R3")
Else
   wS1.Range("U2").Copy Destination:= wS2.Range("R3")
End if

答案 1 :(得分:0)

作为Skaterhaz回答的补充,您可以使用循环来遍历列中的一系列单元格,例如1到200:

Sub Copy_Loop()

Dim i as Long

    For i = 1 to 200
        If wS1.Range("U" & i).Value = "" Then
            wS1.Range("V" & i).Copy Destination:= wS2.Range("R" & (i+1))
        Else
            wS1.Range("U" & i).Copy Destination:= wS2.Range("R" & (i+1))
        End if
    Next i

End Sub