空行上的Excel VBA复制和粘贴(不使用复制+粘贴功能)

时间:2015-08-22 04:22:58

标签: excel vba excel-vba copy paste

我之前已经做过这件事,而且我正在摸不着为什么我无法解决这个问题。

我试图从一张纸上提取数据并将其粘贴到下一行的另一张纸上。 我之前没有使用" copy"或者"粘贴" VBA函数..我只是使用了值,我希望以这种方式让用户更容易(在excel剪贴板上没有随机复制的东西)

这是我的代码:

MM

1 个答案:

答案 0 :(得分:1)

试试这个:

Option Explicit

Sub SubmitChange()

    Dim lastRow As Long

    lastRow = Sheet44.Cells(Sheet44.Rows.Count, 2).End(xlUp).Row + 1

    Sheet44.Range("B" & lastRow).Value2 = Sheet43.Range("A6").Value2

End Sub

注意:

  • 您应该始终使用模块顶部的Option Explicit

    • 会强制您正确声明变量
  • 如果您复制并粘贴了代码而没有任何更改,则会出现一个微妙的问题:

    • 你的变量" Row_number"是在此子(全局)范围之外定义的
    • 在这个子里面你有一个名为" row_number"的第二个变量。 (小写" r")
    • 循环递增全局变量" Row_number"
    • 但在最后一行中,该值始终分配给Sheet44.Range(" B2")
    • " ROW_NUMBER" (这个子的本地)永远不会像你期待的那样增加

另一个问题是Sheet43.Range(A6).Value应该是Sheet43.Range("A6").Value