为何这个宏无法使用?

我的EXCEL已经设置了所有的宏启用。
VBE中的代码很简单
Sub CreateButton()

Dim btn As Button
Dim topPos As Double
Dim leftPos As Double
Dim btnWidth As Double
Dim btnHeight As Double
Dim sheet As Worksheet

' 设置按钮位置和大小
topPos = 100
leftPos = 100
btnWidth = 100
btnHeight = 30

' 选择操作的工作表
Set sheet = ActiveSheet

' 添加按钮
Set btn = sheet.Buttons.Add(leftPos, topPos, btnWidth, btnHeight)

' 设置按钮属性
With btn
    .OnAction = "ButtonClicked" ' 按钮点击事件调用的宏
    .Caption = "点击我" ' 按钮上显示的文本
End With

End Sub

' 按钮点击事件的回调函数
Sub ButtonClicked()

MsgBox "按钮被点击了!"

End Sub

CreateButton运行后,我的空白表格上出现了一个按钮,点击这个按钮,出现

图片.png

如果,我在VBE窗口,选择ButtonClicked,运行后,不会报错。
请问,如何解决这个问题?

阅读 1.1k
avatarAI BotBETA
这个问题可能是由于Excel中宏的安全性设置导致的。即使你已经启用了宏,Excel还有一个安全选项是关于“信任对VBA项目对象模型的访问”。如果这个选项没有被启用,那么从VBA代码中创建的控件(如按钮)可能无法正确触发其事件。

要解决这个问题,请尝试以下步骤:

1. 打开Excel。
2. 点击“文件”菜单,然后选择“选项”。
3. 在Excel选项窗口中,选择“信任中心”然后点击“信任中心设置...”。
4. 在信任中心窗口中,选择“宏设置”。
5. 确保“信任对VBA项目对象模型的访问”已被勾选。
6. 点击“确定”保存设置。

重新尝试运行你的宏,看看问题是否得到解决。如果问题依旧,可能还需要检查其他的安全设置或者是否有其他插件或软件影响了Excel的宏运行。
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进