gpt4 book ai didi

vba - 如果语句在 Excel VBA 中不起作用

转载 作者:行者123 更新时间:2023-12-04 21:11:55 27 4
gpt4 key购买 nike

我正在尝试使用 VBA 在 Excel 中创建一个简单的 if 语句。

我正在创建一个新复选框

将以下代码添加到框中。

Sub CheckBox1_Click()
HideRows "2:5"
End Sub

Sub HideRows(rowRange)
If CheckBox1 = False Then
Rows(rowRange).EntireRow.Hidden = True
Else: Rows(rowRange).EntireRow.Hidden = False
End If
End Sub

结果:无论复选框被选中还是未选中,行都被隐藏。

(复选框被选中)

所有行都可见

取消选中复选框

结果:所有行都被隐藏

(复选框未选中)

所有行都可见

取消选中复选框

结果:所有行都被隐藏

最佳答案

您希望它在更改事件中。

您不需要 If Then。 CheckBox1 rturns 一个 TRUE/FALSE,就使用它。

EntireRow引用 Rows() 时也不需要.您已经在引用整行。

此外,最好始终将父对象声明为任何范围对象,Rows()是。如果代码在工作表代码中,则使用 Me因为它会引用自己。如果代码在模块中,则使用 ActiveSheet或更优选地是特定表,Worksheets("Sheet1") :

Private Sub CheckBox1_Change()
HideRows "2:5"
End Sub



Sub HideRows(rowRange)
'if this code is not in the worksheet code then change `Me` to `ActiveSheet`
Me.Rows(rowRange).Hidden = Not CheckBox1

End Sub

关于vba - 如果语句在 Excel VBA 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46732041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com