excel使用宏复制后新的excel文档不会出现宏

在一个文档中做了6个宏,其中有一个是复制宏Dimflagflag=MsgBox([D4]&"是否新建?",vbOKCancel)Ifflag=vbOKThenSheets... 在一个文档中做了6个宏,其中有一个是复制宏
Dim flag
flag = MsgBox([D4] & "是否新建?", vbOKCancel)
If flag = vbOK Then
Sheets("sheet1").Copy
Path = "E:\Media\"
ActiveWorkbook.SaveAs Filename:=Path & [D4].Value
ActiveWindow.Close
End If
End Sub
但复制过去后,不关闭EXCEl的情况下,新复制的文件中的宏是可以使用,但EXCEL关闭后,再打开新复制的文件,里面所有的宏都不能使用

右键点击SHEET1 查看代码,发现
里面的模块一个都没有
上图,本身应该是这样的

复制后新的文档成这样了
难道
Sheets("sheet1").Copy
这个语句,不支持宏也复制过去?
展开
 我来答
onlyperson
2014-07-12 · TA获得超过134个赞
知道答主
回答量:168
采纳率:0%
帮助的人:150万
展开全部
你的代码写在模块里,你复制sheet页有什么用!
要宏想随sheet页走,得把代码写在编码界面的sheet页里。
告诉你最简单的办法,就是把下面1-6模块复制到新book里就好了。
更多追问追答
追问
那有没有支持连宏一起复制过去的 语句

Sheets("sheet1").Copy

这个肯定是不行,但这个能支持复制过去的格式跟以前的一模一样,
我之所有要复制功能,是因为店厂分离,店里做出来的排单表,是在一个EXCEL服务器里面做出来的,厂里进不到系统服务器,只有通过复制新文件网络传给他们,但我希望新复制的文件的格式和宏都给原始文件一样

您说的 把代码写在编码界面的sheet页里

该如何完成
追答
首先,Sheets("sheet1").Copy这句话跟在sheet页上点右键选复制sheet页是一样的效果,不是什么高级代码。

其次,你用哪个方法模块,就连着模块复制到book对象里,不就好了。右键复制,右键粘贴就行。没你想的这么麻烦。不用你写任何代码。
大叔有点忙A
2014-07-11
知道答主
回答量:12
采纳率:0%
帮助的人:8万
展开全部
你只复制了工作表,当然再打开就没了
追答
把复制、另存代码放在工作簿的开启或关闭事件内
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式