【发布时间】:2013-09-11 22:25:32
【问题描述】:
我想在单击复选框时将excel单元格的内容移动到另一个工作表,我还想清除原始内容,我在google上搜索过,找不到解决方案,我可能不是了解如何做,请建议编写一些代码的最佳方法
谢谢
【问题讨论】:
我想在单击复选框时将excel单元格的内容移动到另一个工作表,我还想清除原始内容,我在google上搜索过,找不到解决方案,我可能不是了解如何做,请建议编写一些代码的最佳方法
谢谢
【问题讨论】:
在 Excel 2010 及更高版本中,您可以通过转到文件 -> 选项打开开发人员菜单,然后单击左侧栏中的“自定义功能区”。在最右侧的列中选中“开发者”框并点击“确定”。
在开发人员选项卡下,现在可以在顶部栏上看到,选择“Visual basic”。
右键单击左栏中的“Microsoft Excel 对象”行并“插入”->“模块”
现在在主窗口右侧(空)复制以下代码。
Sub MoveData()
if ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 then
Range("A1:A5").Select
Selection.Cut
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
End If
End Sub
现在返回您的 Excel 工作表(假设为 sheet1)并在开发人员选项卡下单击“插入”并选中复选框。现在在工作表上拖出一个矩形来放置复选框。
右键单击复选框并“分配宏”。选择“MoveData”并点击“确定”。
现在在单元格 A1 到 A5 的 sheet1 中输入数据并选中该框。它将从 sheet1 中删除并将其粘贴到 sheet2 中。
取消选中该框时不会发生任何事情。
如果要更改复选框的名称,可以右键单击它并选择“格式控制”并更改“替代文本”。确保更改宏代码以匹配它。
【讨论】: