Iam嘗試使用VBA在Excel中創建一個簡單的if語句。如果語句在Excel VBA中不起作用
我正在創建一個新複選框
將下列代碼添加到框中。
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
結果:如果複選框處於選中狀態或未選中狀態,則行都將隱藏。
(複選框被選中)
所有行可見
取消選中該複選框
結果:所有行被隱藏
(複選框選中)
的所有行可見
取消選中t他複選框
結果:所有行被隱藏
爲什麼不只是'ActiveSheet.Rows。( 「2:5」)隱藏= CheckBox1.Value'? –
@ Mat'sMug是的,的確如此。但只是爲了展示它如何工作,而不是找到最短的方法來實現最終結果。因爲代碼將位於工作表模塊本身中,所以實際上甚至不需要使用工作表參考資格。 :) – sktneer
這是正確的(+1) - 如果該代碼位於工作表的代碼隱藏中,則適用的顯式限定符將爲「Me」;儘管如此,活動表會/應該是*表格*,但是'Me'在語義上比'ActiveSheet'更合適......並且'Me'總是一個冗餘限定符。 –