求excel vba 宏代码,打开xlsm格式的文件自动运行的宏

要求打开文件后先检查表p第二列最后一行有数据的单元格,单元格如果是今天的日期则跳过保存,如果不是今天的日期则激活另一个宏 p2。
最后保存工作表,关闭。

把下面的代码复制到工作簿的 ThisWorkbook 模块里面就可以了

Option Explicit
Private Sub Workbook_Open()
    Dim l As Long
    l = Sheets("p").Range("a60000").End(xlUp).Row
    '这里假定日期保存在A列的最后一个单元格,你可以自己修改Range("a60000")为Range("c60000")等等。
    If Sheets("p").Range("a" & l).Value = DateValue(Now) Then
        '这里也假定日期保存在A列的最后一个单元格,你可以自己修改Range("a" & l)为Range("c" & l)等等,和上面的要一致。
        p2
        ThisWorkbook.Save
    End If
End Sub

Sub p2()
    MsgBox "yes"
End Sub

温馨提示:内容为网友见解,仅供参考
无其他回答

求excel vba 宏代码,打开xlsm格式的文件自动运行的宏
把下面的代码复制到工作簿的 ThisWorkbook 模块里面就可以了 Option ExplicitPrivate Sub Workbook_Open() Dim l As Long l = Sheets("p").Range("a60000").End(xlUp).Row '这里假定日期保存在A列的最后一个单元格,你可以自己修改Range("a60000")为Range("c60000")等等。 If Shee...

求excel vba 代码,打开xlsm文件自动执行相应的宏
Module6.Y23_b23_data_import Module7.Z23_m23_data_import end sub

如何在启用excel时自动运行VBA的某个宏?
1、首先将Excel文档(默认新建扩展名为xlsx),另存为启用宏的工作簿,扩展名为xlsm。2、按下组合键ALt+F11快速切换到VBA窗口。3、进入VBA窗口后的界面,如图所示。4、双击ThisWorkbook后,会弹出一个代码窗口。5、在代码窗口中复制粘贴以下代码:Private Sub Workbook_Open(),MsgBox ("欢迎您使用Excel...

exce代码怎么在打开文件时自动运行?
1、在Excel中按下Alt+F11,双击左侧的“Thisworkbook”,选择“Workbook”“Open”事件;2、在自动生成的代码中间,输入要开机运行的程序代码;请点击输入图片描述 3、将Excel文件保存为xls或者xlsm等支持VBA的文件类型,设置“启用宏”;再次打开这个文件,就会自动运行第2步。请点击输入图片描述 ...

怎么样让Excel在打开时就自动执行编好的宏代码
首先进入VBA编辑器(ALT+F11进入、或者ALT+F8选宏再点编辑),然后再打开工程资源管理器(菜单查看下选中、或者直接按CTRL+R键),在资源管理器里面的ThisWorkBook上双击鼠标,会打开工作的相关代码,粘贴下面的例子代码:1 2 3 4 Private Sub Workbook_open()msgbox "工作表打开了"'call 其它宏,或者...

求excel vba代码,打开工作表自动执行宏的代码
Sub auto_open()Msgbox "开机运行"End Sub 这是开机运行的代码

求在EXCEL VBA中打开指定工作薄的完整代码???
首先,确保你的Excel文件是支持宏的,通常情况下,将.XLSX文件另存为扩展名为.XLSM的文件。这一步将启用VBA功能。接着,按下键盘上的Alt + F11,这会快速带你进入Visual Basic for Applications (VBA) 环境。在VBA编辑器中,你会看到一个工作簿窗口。在VBA编辑器中,找到并双击工作簿标签,这会创建...

求在EXCEL VBA中打开指定工作薄的完整代码???
1.首先,使用扩展XLSM将Excel文档(默认情况下是新的扩展XLSX)保存为一个支持宏的工作簿。2.按ALt+F11快速切换到VBA。3.击VBA窗口后进入界面,如图所示。4.双击此工作簿后,将弹出一个代码窗口。5.在代码窗口中,复制并粘贴以下代码:PrivateSubWorkbook_Open(),MsgBox("»ido-aueOA...

excel宏vba代码
答:可能是包含宏的工作簿的文件格式是:*.xlsm(07版本及以上),而公司电脑里调用该函数的工作簿是:*.xls(03及以前格式)。造成最大行数不一致错误。可以修改这句:lmaxrows = ThisWorkbook.Worksheets(1).Rows.Count 为:lmaxrows = rg.Parent.Rows.Count 自适应目标单元格所在的工作表的最大行数...

如何用宏的方式打开别人的xlsm文件,同时别人的宏不允许启用?【Excel...
最接近的办法是备份所有xlsm文档后,批量从xlsm中删除VBProject,然后打开它们。[批量从xlsm中删除VBProject],需要用命令行方式运行加解压缩软件。

相似回答