Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行宏(Excel)前的警告消息_Excel_Vba - Fatal编程技术网

运行宏(Excel)前的警告消息

运行宏(Excel)前的警告消息,excel,vba,Excel,Vba,我试图在Excel中运行宏时添加警告消息 警告消息是在运行下面的代码清除单元格之前提供“取消”选项 当尝试在下面的消息框中添加一个鼓励用户从功能区激活宏的消息框时,我似乎无法让它在没有错误的情况下运行 工作表已锁定,因此仅清除未锁定的单元格 Sub Glazing_ClearContents(rib As IRibbonControl) Dim rng As Range Dim C As Variant Set rng = Sheets("Glazing_Systems").Range("C12

我试图在Excel中运行宏时添加警告消息

警告消息是在运行下面的代码清除单元格之前提供“取消”选项

当尝试在下面的消息框中添加一个鼓励用户从功能区激活宏的消息框时,我似乎无法让它在没有错误的情况下运行

工作表已锁定,因此仅清除未锁定的单元格

Sub Glazing_ClearContents(rib As IRibbonControl)
Dim rng As Range
Dim C As Variant
Set rng = Sheets("Glazing_Systems").Range("C12:I42")
    For Each C In rng
        If C.Locked = False Then
            C.ClearContents
        Else
        End If
Next C
End Sub

在询问用户是否要使用宏时,我没有发现使用以下代码有任何问题

question = "Are you sure you want to run this Macro?"
If MsgBox(question, vbYesNo + vbQuestion) = vbYes Then
''''' Place your code to be executed if you clicked yes
else
'''''' Place your code to be executed if you clicked no
end if

希望这对你有帮助

使用inputbox并从用户处获取答案。如果他们选择继续,请运行您的代码,如果没有,请退出sub。欢迎使用StackOverflow!您为消息框添加了什么代码?如果这是你的问题,查看它会有帮助,但请在你的帖子中,而不是在评论中添加信息。你能告诉我们你尝试了什么吗?你得到了什么具体的“错误”?如果您无法向我们展示您实际在做什么以及代码如何实际失败,那么很难为您提供帮助。我还要提醒您不要过度设计功能区控件。用户必须故意按该按钮。从用户体验的角度来看,没有什么比经常被问到“你确定要这么做吗?”更让人恼火的了。谢谢你的反馈。MsgBox现在运行良好。非常感谢您抽出时间进行反馈。
Option Explicit


Sub test()

    Dim Continue As String

    Continue = MsgBox("Are you sure you want to clear cells?", vbCritical + vbYesNo, "Attention")

    If Continue = vbYes Then
    Else
    End If

End Sub