2016-03-30 2 views
0

Я написал VBA, который копирует и вставляет данные с одного листа на другой. VBA работает только для строки, данные которой находятся в файле sheet2. Мне нужен VBA, чтобы автоматически перейти к следующей строке. Это нужно сделать, пока в следующей строке не будет данных. В приведенном ниже примере это уже после трех строк.VBA copy pasteing

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 

Я включал несколько примеров, чтобы вы знали, как перемещаться между столбцами и строками :) Смещение (строки, столбцы)