提问人:aviato 提问时间:9/6/2023 更新时间:9/6/2023 访问量:29
如何根据表单控件组合框中的选择更改 Excel 工作表?
How do I alter an excel sheet depending on selection in form control combo box?
问:
因此,我想要的是让我的工作表以不同的方式显示,具体取决于我在格式控件组合框下拉列表中选择的 3 个选项中的哪一个。
例如,选择 1 将包含文本框和其他下拉列表的一种布局,选择 2 将具有自己的布局,选择 3 将包含自己的布局。
我目前能想到的方法是让脚本取消隐藏包含不同布局的单元格,即在选择 1 时显示布局为 1 的单元格,在选择 2 时显示包含布局 2 的其他单元格,依此类推。或者,我只能想到让VBA代码删除工作表中的所有内容,并在每次更改组合框中的选择时使用所需的布局重新构建它。这两个选项感觉它们很快就会变得滞后,因为我在各自的设置中添加了更多东西,更何况我真的想不出其他选项(让我们假装每个布局都有单独的工作表不是一个选项)。
有没有人知道更好的方法,如果有,如何?
如果不是,如果我们考虑到在单独的布局中会有相当多的文本框、格式控件和设计,那么最好使用其中哪一个?
最后,当我在组合框中选择不同的选项时,我如何实际让它工作,目前由于某种原因,我无法让我的VBA代码工作以实际执行操作?
到目前为止,我的代码看起来像
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
If ws.DropDowns(2) = "Option1" Then
ws.Rows(rowVal & ":" & .Rows.Count).Delete
End If
End Sub
这显然只是一个测试,看看在更改组合框中的值时,我是否可以让它从第 45 行开始清除单元格,但即使这样也不起作用。
答: 暂无答案
评论