VBA复制粘贴

时间:2016-03-30 14:37:38

标签: vba excel-vba excel

我写了一个VBA,它将数据从一张纸复制并粘贴到另一张纸上。 VBA仅适用于数据在sheet2中的行。我需要VBA自动转到下一行。它需要这样做,直到下一行没有数据。在下面的示例中,它已经在3行之后。

data

Sub goeie()
    With Sheets("A")

    'bord 2 verwijzingen
    .[C42].FormulaR1C1 = "=blad2!R[4]C[13]"
    .[D42].FormulaR1C1 = "=blad2!R[4]C[10]"
    .[E42].FormulaR1C1 = "=blad2!R[4]C[10]"
    .[F42].FormulaR1C1 = "=IF(blad2!R[4]C[11]=""S235"",235,355)"

    'bord 1 verwijzingen
    .[C43].FormulaR1C1 = "=blad2!R[3]C[9]"
    .[D43].FormulaR1C1 = "=blad2!R[3]C[6]"
    .[E43].FormulaR1C1 = "=blad2!R[3]C[6]"
    .[F43].FormulaR1C1 = "=IF(blad2!R[3]C[7]=""S235"",235,355)"

    'deur
    .[C56].FormulaR1C1 = "=blad2!R[-10]C[3]"
    .[D56].FormulaR1C1 = "=blad2!R[-10]C[1]"
    .[E56].FormulaR1C1 = "=blad2!R[-10]C[2]"
    .[F56].FormulaR1C1 = "=IF(blad2!R[3]C[2]=""V"",""X-as"",""Y-as"")"
    End With

    With Sheets("Blad2")
    .[R46].FormulaR1C1 = "=A!R[12]C[1]"
    End With

End Sub

1 个答案:

答案 0 :(得分:0)

您需要使用Offset来执行此操作

示例:

     pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = .Value
     pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = .Value
     pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(0, 2).Value = .Value

我包含了多个示例,以便您知道如何在列和行之间导航:)偏移(行,列)