ShtCodeName = ThisWorkbook.Worksheets("AAAA").CodeName
With ThisWorkbook.VBProject.VBComponents.Item(ShtCodeName).CodeModule
.InsertLines 1, "Private Sub Worksheet_Change(ByVal Target As Range)"
.InsertLines 2, "msgbox ""生成事件成功"""
.InsertLines 3, "'这是一个注释示例"
.InsertLines 5, "End Sub"
End With
试试吧。
首先解释一下将要用到的公式。以下公式可以获取当前工作表的名字:
=CELL("filename",A1)
注意,当前文档必须是保存过的,因为该函数返回的信息包括盘符、路径等,如果没有保存过文档,则函数只能返回空字符串。
进一步地,以下公式提取工作表Sheet31名字的末尾数字:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+6,2)
好了,留意下面的具体 *** 作。
一、选择工作组Sheet31-Sheet4(可先点Sheet31,按住Shift键,再点Sheet4)
二、在Sheet31的单元格G4输入以下公式:
="="&"SUM(Sheet1:Sheet"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+6,2)-3&"!G31)"
三、复制G4——选择性粘贴——数值
这样就在Sheet31-Sheet4的G4同时生成一个公式形式的文本串。
四、按Ctrl+H,在“查找内容”和“替换为”框中都输入“=”,全部替换
这样,就将公式形式的文本串,都转换为真正的公式了。
说明,因为你题目要求Sheet31中的公式合计到Sheet28,所以在上述公式中,提取当前工作表名字末尾的数字后,要减3。
因此,只能对Sheet31-Sheet4作为快速 *** 作。
至于Sheet1-Sheet3的公式,大概不难矣。
楼主要触发事件宏代码吗打开vbe编辑器
选择需要添加事件的工作表
然后在通用里选择worksheet选择具体事件
再根据需求添加代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)