excel - 为什么当我按下运行时 VBA 要求我输入宏名称?
问题描述
我是 VBA 新手。下面是在打印前提醒用户注意空白单元格的代码:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Sheets("Sheet1").Range("F23").Value = "" Then
Cancel = True
MsgBox ("Please populate F23")
End If
End Sub
然而,当我按下。运行,它提示我输入宏名称。我可以知道为什么吗?解决方案是什么?
解决方案
您的宏有一个非可选参数Cancel
. 当您按下 时F5,VBA 检测到此参数,确定没有它就无法运行宏,然后打开通用的“运行宏”屏幕。
如果您希望在不触发事件(即打印)的情况下运行它,那么您需要将以下代码放入另一个子例程或立即窗口(VBA 中的Ctrl+ G)中,然后按下Enter以从那里运行它:
Workbook_BeforePrint False
(这将参数传递False
给 Parameter Cancel
)
推荐阅读
- android - Android上的邮槽接口
- python - 使用 BeautifulSoup 和 Requests 提取数据
- python - 您可以使用 protobuf 将 iframe 标签序列化为二进制数据吗?
- python - 如何使用python在谷歌搜索结果中打开一个网站?
- git - 多个目录中的相同单词文件,多个用户没有管理员权限
- r - 计算连续失败及其开始和结束日期
- android - 如何在不使用 Intent 的情况下将事件添加到 Android 设备上的日历
- spring-webflux - 如何使用 Reactor (Spring WebClient) 模拟 for 循环
- sql - 使用 TSQL 在 SQL Server 中使用单引号和逗号将短语拆分为单词
- python - 无论如何我们只能从图像轴中提取文本吗?