【问题标题】:VBA copy pastingVBA复制粘贴
【发布时间】:2016-03-31 16:57:08
【问题描述】:

我编写了一个 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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您需要使用 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多