永发信息网

excel vba 点控件执行复制数据到另一工作表

答案:2  悬赏:40  手机版
解决时间 2021-04-06 23:40
  • 提问者网友:我是我
  • 2021-04-06 11:00
一个文件名:“订单”,
另一个文件名:“报告”。
现在需要在“订单”的“D2010”这个页面上添加一个命令按钮“执行”,按“执行”后,将“D2010”的$C:$G列的数据复制到“报告”的“B2010”页面的$A:$E列上去。
最佳答案
  • 五星知识达人网友:狂恋
  • 2021-04-06 12:07
这样就行了,在"订单"的D2010面页上画一个文本框,输入"执行".然后在当前工作表内录制一个"执行"宏,如下:

Sub 执行()

Workbooks.Open Filename:="X:\\报告.xls"

Windows("D2010").Activate

Columns("C:G").Select

Application.CutCopyMode = False

Selection.Copy

Windows("报告.xls").Activate

Sheets("D2010").Select

Columns("A:E").Select

ActiveSheet.Paste

Range("A1").Select

Application.CutCopyMode = False

ActiveWorkbook.Save

ActiveWindow.Close

Range("A1").Select
End Sub

选中画好的文本框,右键,指定宏,选刚录好的上面那个"执行"宏,这样就完全实现你的要求.

说明:宏内第一行的的"X:\\报告.xls"请把它改为你的报告.XLS文件实际路径即可.

建议:能够用宏来做的,不需要用VB按钮.如果一定要用,把宏内的代码复制到按钮代码内,稍作修改即行.
全部回答
  • 1楼网友:零点过十分
  • 2021-04-06 12:59
sub 复制() sheets("sheet2").range("b4:c8") = sheets("sheet1").range("b5:c9").value sheets("sheet2").range("d4:d8") = sheets("sheet1").range("f5:f9").value sheets("sheet2").range("e4") = sheets("sheet1").range("e2").value sheets("sheet2").range("f4") = sheets("sheet1").range("e3").value sheets("sheet2").range("h4") = sheets("sheet1").range("g3").value end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯