Excel VBA - 在保存前运行宏

10

我一直在寻找如何在保存文档之前调用我的宏。 我找到了这个,但当我将我的代码放进去时,它没有任何反应。 所以我认为我缺少了什么。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 

Set shtVO = Sheets("Voice orders")
endRowVO = shtVO.Range("E" & Rows.Count).End(xlUp).Row

For Row = 11 To endRowVO
    If IsEmpty(shtVO.Cells(Row, 23).Value) = False Then
        If shtVO.Cells(Row, 3).Value <> shtVO.Cells(Row, 23) Then
            If shtVO.Cells(Row, 1).Value Like "*MIG*" Then
            Else
                shtVO.Cells(Row, 1).Value = shtVO.Cells(Row, 1).Value + "MIG"
            End If
        End If
    End If
Next Row

End Sub 

2
你把这段代码放在了 ThisWorkbook 模块里吗? - chris neilsen
在哪里?对不起,这都是新的。 - CustomX
什么出了问题?在保存之前你想做什么? - Passerby
在保存之前,我只是调用了宏。但是我将在共享的.xlsm文件上使用它,因为不是所有用户都知道如何使用,所以我想以这种方式“自动化”它。我们确保每行编辑后每个人都保存,因此调用宏。 - CustomX
1个回答

25

将你的代码放在ThisWorkbook模块中

在这里放置你的代码


1
在设计模式下,您的Workbook_BeforeSave事件也可能不会被执行,因此请确保在保存工作簿之前退出设计模式。 - Oliver Hoffmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接