【发布时间】:2010-09-21 00:46:44
【问题描述】:
我需要通过单击一个按钮将一组行从一个选项卡复制到同一 Excel 文档的另一个选项卡。
另外,我是否还可以获取有关如何复制一组隐藏的行并将其粘贴到同一选项卡中而不复制“隐藏”格式的信息?
【问题讨论】:
-
这实际上是一个编程问题吗?我的意思是您是在问 Excel 中是否已经存在其中的任何一个,还是您想编写一个插件来实现它?
我需要通过单击一个按钮将一组行从一个选项卡复制到同一 Excel 文档的另一个选项卡。
另外,我是否还可以获取有关如何复制一组隐藏的行并将其粘贴到同一选项卡中而不复制“隐藏”格式的信息?
【问题讨论】:
如果“Copystart”是您的原始行,而“Copyend”是您要粘贴它们的位置,则使用命名范围:
Sub Copybutton_Click()
Range("Copyend").value = Range("Copystart").value
Range("Copyend").visible = True
End Sub
如果您有多个具有相同名称的命名范围,则添加 [Sheetname]。在范围前面,其中 Sheetname 是您要引用的命名范围所在的工作表的名称。
【讨论】:
Excel 中没有允许您执行此操作的本机函数。您需要编写一个宏并将其分配给一个按钮控件(您可以使用控件工具箱工具栏 - 视图 > 工具栏 > 控件工具箱将其拖放到工作表中)。
然后,您通常会通过双击按钮(当它仍在设计视图中时)并在新生成的“CommandButton_Click”事件中调用您的宏来将宏分配给该按钮。正如 Lance 所说,命名范围是最容易使用的。
要回答问题的最后一部分,以编程方式复制范围并不会复制格式或公式。它只取单元格的值。因此,无论您的源范围是否隐藏,目标都不需要显式设置其 `visible` 属性 - 复制时会忽略 hidden 属性。
【讨论】: