Excel:将dynamic范围从一个工作表复制到另一个工作表
我正试图从一个工作表复制一个dynamic范围(B12:Lxx)到另一个。 我需要复制的范围停在第一个空行(还有额外的数据进一步向下,我不想复制)。
我是一个非常基本的VBA用户,所以如果你可以明确地指出你的指示,这将是方便的。
- 来源:带有dynamic范围B12: Lxx的工作表“MyKPIs”(列L被设置,行号是可变的,但必须在第一个空行结束)
- 目标:工作表“月份模板”,单元格B5
- 触发器将是一个命令button
我已经浏览了其他文章,但没有find任何我可以使用的东西。
谢谢,海莉
从“MyKPIs”工作表上的“表单”工具栏中放置一个command button
。
然后添加这个代码:
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中的第一个空单元格。这应该会帮助你开始。
这将工作。 在工作表上插入一个命令button。 双击button。 在sub和end之间粘贴这个代码。
Worksheets("MyKPIs").Range("b12").CurrentRegion.Copy Worksheets("Month Template").Range("b5")
它应该看起来像这样,当你通过。 然后转到开发者选项卡上的工作表closuresdevise模式,然后单击button。
Private Sub CommandButton1_Click() Worksheets("MyKPIs").Range("b12").CurrentRegion.Copy Worksheets("Month Template").Range("b5") End Sub
对于那些不熟悉当前区域的人来说,请看下面的2个空白单元格的样本,但是这个区域被选中了,你可以很容易地看到范围内的开始点和结束点,以及整个空白行或列是如何形成范围的。