VBA 错误:'End Sub、End Function 或 End Property 后只能跟注释' 如何解决?

在编写 VBA 代码时,你可能会遇到如下错误信息:'End Sub、End Function 或 End Property 后只能跟注释'。本篇文章将解释这个错误的原因,并提供解决方案。

错误原因:

这个错误通常是由于在 End SubEnd FunctionEnd Property 语句后面添加了除注释以外的代码导致的。VBA 要求这些语句必须出现在过程、函数或属性定义的末尾,并且后面只能跟随注释。

解决方案:

根据你提供的代码,错误可能是因为代码的结尾处使用了 End Sub 语句,但是没有在语句后面添加注释。

在 VBA 中,End Sub 语句用于结束一个子过程。如果你不想在该子过程的结尾添加任何注释,可以将 End Sub 语句删除。

以下是用单引号修改后的代码:vbaOption Explicit

Private Declare PtrSafe Function SendMessage Lib 'user32' Alias 'SendMessageA' (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr

Private Const WM_VSCROLL As Long = &H115Private Const SB_LINEUP As Long = 0Private Const SB_LINEDOWN As Long = 1

Private Sub UserForm_Activate() ' 启用复选框的滚动条 ComboBox1.DropDownEnd Sub

Private Sub ComboBox1_MouseWheel(ByVal WHEELLINES As Long, ByVal PAGE As Long) ' 发送滚动消息给复选框 SendMessage ComboBox1.hWnd, WM_VSCROLL, IIf(WHEELLINES > 0, SB_LINEUP, SB_LINEDOWN), ByVal 0& ' 阻止进一步处理鼠标滚轮事件 Me.MouseWheel = FalseEnd Sub

保存并运行修改后的代码,现在应该不会再报错了。

其他建议:

  • 仔细检查代码,确保 End SubEnd FunctionEnd Property 语句后面没有除注释以外的任何代码。* 使用代码编辑器(如 Visual Basic 编辑器)可以帮助你更轻松地识别和修复此类语法错误。
VBA 错误:End Sub、End Function 或 End Property 后只能跟注释 - 如何解决?

原文地址: https://www.cveoy.top/t/topic/Tr7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录