簡體   English   中英

如果滿足某些條件,請選中復選框 excel vba

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM