Vba Excel:将动态范围从一个工作表复制到另一个工作表

Vba Excel:将动态范围从一个工作表复制到另一个工作表,vba,excel,Vba,Excel,我试图将一个动态范围(B12:Lxx)从一个工作表复制到另一个工作表。我需要复制的范围停在第一个空行(在工作表的下面还有其他数据,我不想复制) 我是一个非常基本的VBA用户,所以如果你能明确地列出你的说明,那就很方便了 来源:具有动态范围的工作表“mykpi”B12:Lxx(设置了L列,行号是可变的,但必须在第一个空行结束) 目标:工作表“月模板”,单元格B5 触发器将是一个命令按钮 我浏览了其他文章,但没有找到任何有用的东西 谢谢, Hayley将命令按钮从表单工具栏放置在“MyKPI”工

我试图将一个动态范围(B12:Lxx)从一个工作表复制到另一个工作表。我需要复制的范围停在第一个空行(在工作表的下面还有其他数据,我不想复制)

我是一个非常基本的VBA用户,所以如果你能明确地列出你的说明,那就很方便了

  • 来源:具有动态范围的工作表“mykpi”B12:Lxx(设置了L列,行号是可变的,但必须在第一个空行结束)
  • 目标:工作表“月模板”,单元格B5
  • 触发器将是一个命令按钮
我浏览了其他文章,但没有找到任何有用的东西

谢谢,
Hayley

命令按钮
表单工具栏放置在“MyKPI”工作表上

然后添加以下代码:

Sub Button1_Click()

    Dim myrange

    Set myrange = Sheets("MyKPIs").Range("B12:L12")
    myrange.Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy Worksheets("Month Template").Range("B5")

End Sub

考虑到列B中的所有单元格都有数据,这将复制范围内的所有单元格。它将在B列的第一个空单元格处停止。这将帮助您开始。

这将起作用。在工作表上插入命令按钮。双击按钮。在sub和end sub之间粘贴此代码

Worksheets("MyKPIs").Range("b12").CurrentRegion.Copy Worksheets("Month Template").Range("b5")
当你做完的时候应该是这样的。然后转到“开发人员”选项卡上的工作表,关闭设计模式,然后单击按钮

Private Sub CommandButton1_Click()

Worksheets("MyKPIs").Range("b12").CurrentRegion.Copy Worksheets("Month Template").Range("b5")

End Sub
对于那些没有currentregion经验的人,请查看下面的两个示例,它们有空白单元格,但区域已被选中,您可以很容易地看到范围中的起点和终点,以及整个空白行或空白列如何形成范围


谢谢@ib11,但是我在范围(“B5”)中遇到了一个错误。Select1004:Range类的选择消息失败@ib11很高兴听到!如果答案解决了你的问题,别忘了投票并接受它。