Vba 在要复制和粘贴的两个单元格之间进行选择

Vba 在要复制和粘贴的两个单元格之间进行选择,vba,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, Op

我刚刚开始学习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?

任何帮助都将不胜感激!!:)

问候,,
账单

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

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

如果只需要复制一个单元格,则

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

作为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

作为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

我正要问。明亮的我正要问。明亮的