EXCEL VBA 问题?

 我来答
阳光上的桥
2020-09-27 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65789
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

代码在下面这个地方写就可以,但是有了这个功能后,保存会卡得很惨,特殊是数据较大的时候,因为检测单元格的格式只有一个一个的扫描,这样非常耗时。

写好代码之后,保存时执行效果如下:

——跳到有填充颜色的单元格,提示不允许保存,然后返回。

代码位置如下图,千万注意位置的重要性:

代码文本为:

Option Explicit


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

    Dim st As Worksheet, rng As Range

    For Each st In Sheets

        If st.Name = "电1" Or st.Name = "电2" Or st.Name = "电3" Then

            For Each rng In st.UsedRange.Cells

                If rng.Interior.Color <> 16777215 Then

                    Application.Goto rng

                    MsgBox "这个单元格有填充颜色,不允许保存"

                    Cancel = True

                    Exit Sub

                End If

            Next rng

        End If

    Next st

End Sub

追问
太感谢了,我测试一下。谢谢!
硅谷少年
2020-09-27 · TA获得超过7553个赞
知道大有可为答主
回答量:7116
采纳率:82%
帮助的人:1384万
展开全部
我的项目中我做过,开价50元。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式