使用复选框调用子程序excel vba

Posted

技术标签:

【中文标题】使用复选框调用子程序excel vba【英文标题】:calling a sub using checkboxes excel vba 【发布时间】:2016-03-18 19:46:51 【问题描述】:

我正在尝试使用此代码调用 sub

If CheckBox2 = True Then Call Qorep

这是子:

Public Sub Qorep()

For i = 0 To cap
    Hoja9.Cells(i + 2, 3).Value = Empty
    array_Qorep(i, 0) = Hoja1.Range("B" & i + 2)

    Select Case Hoja9.Cells(3, 5)
    Case Is > 0
    If array_Qorep(i, 0) < Hoja9.Cells(3, 5) Then Hoja9.Cells(i + 2, 3) = array_Qorep(i, 0)
    End Select

    Select Case Hoja9.Cells(3, 4)
    Case Is > 0
    If array_Qorep(i, 0) > Hoja9.Cells(3, 4) Then Hoja9.Cells(i + 2, 3) = array_Qorep(i, 0)
    End Select
    If Hoja9.Cells(i + 2, 3) = Empty Then Hoja9.Cells(i + 2, 3) = "#N/A"
    Next
End Sub

问题是选中复选框后它没有做任何事情,尝试调用 sub 是否有问题? 我是初学者,我可能看不出有什么问题,有什么帮助吗?

【问题讨论】:

同样的问题,如果我添加()它会自动删除自己 工作簿中的“if ....”行在哪里? 差不多在代码开头,调用了所有变量之后 【参考方案1】:

在你需要的工作表中

 Private Sub  CheckBox2_Click()

       If CheckBox2 = True Then Call Qorep

   End Sub

如果您的子不在同一个工作表中,那么您需要使用 模块名.Qorep

【讨论】:

以上是关于使用复选框调用子程序excel vba的主要内容,如果未能解决你的问题,请参考以下文章

Excel中的VBA如何调用Java呀?

用Excel使用VBA时显示运行错误5,错误调用参数,程序特别简单,如图,求问哪里出错了

Excel VBA入门用户窗体开发

使用VBA获取Excel中所有复选框的值

在Excel中使用VBA循环复选框非常慢

Excel VBA - 使用 FindNext 后功能停止(在子程序中工作)