根据日期隐藏/显示表格部分

| 只是查询比什么都重要。不确定im是否允许在不提交代码的情况下在这里提出问题?但是无论如何这里都会。 想知道在Excel中是否可以使用vba根据日期显示/隐藏表单的各个部分。我创建的表单将用于审核,每个月将完成一次不同的审核。该表格将按以下说明使用。 将打开工作簿----用户输入患者ID号(用于从数据库中检索数据的查询功能(我不需要此位)–用户从下拉菜单中选择是/否 是-根据日期显示相关表格 不-保留原样。 无法想到解决表格设置问题的合适方法,并且不知道如何显示/隐藏部分,因此任何建议将不胜感激。     
已邀请:
        您的问题有些开放,显然没有明确的答案。这是我的一些初步想法: 如果您的表单仅稍有变化(即90%相同,只有10%是可变的),并且仅表单的特定部分发生变化,则可以创建每个部分,然后有选择地隐藏。 例如,假设我有一个根据用户是男性还是女性而不同的部分。我可以构建两个部分,然后按如下所示显示/隐藏:
If gender = \"Male\" Then
    Rows(\"10:20\").EntireRow.Hidden = True //Assume you built male section in rows 10 to 20
    Range(\"20:30\").EntireRow.Hidden = false //Assume you built female section in 20 to 30
Else // replicate code for female scenario
    Rows(\"10:20\").EntireRow.Hidden = False
    Rows(\"20:30\").EntireRow.Hidden = True
End if
如果您的表单变化很大(即仅10%的静态变量和90%的可变变量),我的经验是,最好在不同的工作表中分别构建每个表单,然后相应地显示:
If gender = \"Male\" Then
     Worksheets(\"maleForm\").Visible = True
Else
     Worksheets(\"femaleForm\").Visible = True
End if
如果输入字段不同,则可以考虑选择性地禁用某些字段:
 If gender = \"Male\" Then
      Worksheets(\"myForm\").OLEObjects(\"lipstickDropDown\").Enabled = False //Using Control Toolbox items e.g. textbox, combobox etc...
      Worksheets(\"myForm\").OLEObjects(\"beerDropDown\").Enabled = True
 Else
      Worksheets(\"myForm\").OLEObjects(\"lipstickDropDown\").Enabled = True 
      Worksheets(\"myForm\").OLEObjects(\"beerDropDown\").Enabled = False
 End if
如果以后可以添加到此列表中,我会做。这有什么帮助您吗?     

要回复问题请先登录注册