2016-03-30 94 views
0

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

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 

回答

0

你需要使用补偿要做到这一点

例如:

 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 

我包括多个例子,让你知道如何在列和行之间导航:)偏移(行,列)