[英]Check checkbox if certain conditions are met excel vba
我正在制作一個帶有幾個復選框的簡單 vba 用戶表單來隱藏某些數據,因此不同的人可以選擇他們想要查看的數據。 在搜索時,我開始想知道如果滿足某些條件,是否可以在運行初始宏時自動選中這些框。 現在這是我的宏代碼;
Sub userform_Open()
Dim Project As CheckBox
Selection.Show vbModeless
'to show the options so the user can choose which data he sees.
If Columns("F").EntireColumn.Hidden = True Then
'If this column is shown i want "project" (checkbox) to be ticked on, so the user knows it is shown.
Project.Value = True
Else
Project.Value = False
End If
End Sub
它是一個簡單的宏,但我在網上找不到任何有效的東西......它一直給我一個“運行時錯誤 91:對象變量或塊變量未設置”
Don't Dim Project As CheckBox
這將創建一個未鏈接到您的用戶表單復選框的變量Project
。
相反,請確保在此處使用復選框的名稱Me.MyCheckboxName.Value = True
。 Me
指向編寫代碼的用戶表單。
如果您不指定以下內容,Excel 將無法知道Columns("F")
在哪個工作表中:
ThisWorkbook.Worksheets("Sheet1").Columns("F")
最后,如果您的用戶表單名為Selection
,請為其選擇另一個名稱。 Selection
是 VBA 中的保留關鍵字,不得用於變量或用戶表單名稱。
所以這樣的事情應該有效:
Sub userform_Open()
UserForm1.Show vbModeless 'make sure to replace `UserForm1` with your form name don't use `Selection` as form name!
If ThisWorkbook.Worksheets("Sheet1").Columns("F").EntireColumn.Hidden = True Then
'If this column is shown i want "project" (checkbox) to be ticked on, so the user knows it is shown.
Me.CheckBoxName.Value = True 'make sure `CheckBoxName` is the name of your checkbox
Else
Me.CheckBoxName.Value = False
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.