VBA 错误:"在 end sub, end function 或 end 属性后面只能出现注释" 解决方法
根据你提供的代码,错误是因为你在代码的结尾处使用了 'End Sub' 语句,但是没有在语句后面添加注释。
在 VBA 中,'End Sub' 语句用于结束一个子过程。为了解决这个问题,你可以在 'End Sub' 语句后面添加一个注释。
以下是修改后的代码:
Option 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 = &H115
Private Const SB_LINEUP As Long = 0
Private Const SB_LINEDOWN As Long = 1
Private Sub UserForm_Activate()
' 启用复选框的滚动条
ComboBox1.DropDown
End 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 = False
End Sub ' ComboBox1_MouseWheel
在以上代码中,我在 'End Sub' 语句后面添加了一个注释 'ComboBox1_MouseWheel'。这样,代码就符合 VBA 的语法要求了。
保存并运行修改后的代码,现在应该不会再报错了。
原文地址: https://www.cveoy.top/t/topic/Ttp 著作权归作者所有。请勿转载和采集!