我不确定如何使用excel公式执行此功能,所以我尝试了VBA。我将仪表板放在一起,我希望用户只根据他们在下拉列表中选择的内容来查看某些列。
我的代码适用于其目的;从列表中选择一个项目,隐藏某些列。我遇到的问题是,当我将一个数字放在一个随机单元格中时,比如说17B,并填充到右边;
我得到了
运行时错误' 13' '类型不匹配'。
当我点击弹出窗口向我通知错误时,我的代码继续工作。但这种不断的弹出是令人讨厌的,我做错了什么?运行时错误突出显示第2行; if / then语句的第一部分。谢谢。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row = 3 And Target.Value = "car" Then
Application.Columns("C:I").Select
Application.Selection.EntireColumn.Hidden = False
Application.Columns("J:BZ").Select
Application.Selection.EntireColumn.Hidden = True
ElseIf Target.Column = 1 And Target.Row = 3 And Target.Value = "bike" Then
Application.Columns("J:P").Select
Application.Selection.EntireColumn.Hidden = False
Application.Columns("C:I").Select
Application.Selection.EntireColumn.Hidden = True
Application.Columns("Q:BZ").Select
Application.Selection.EntireColumn.Hidden = True
Else
Application.Columns("C:BZ").Select
Application.Selection.EntireColumn.Hidden = False
End If
End Sub
答案 0 :(得分:0)
再次见到,这是试图解决问题的方法。修复不起作用; vba代码现在不运行。但是我想结合一些对其他人有用的想法,现在希望得到关于如何制作我的工作的反馈。
我创建了一个comobox,并使用'$ A $ 15:$ A $ 16'作为输入范围; - 这是一个包含'自行车'和'汽车'的列表
对于手机链接,我使用了“$ A $ 3”
组合框仅将1和2输入“$ A $ 3”,并将它们分配给我拥有的两个字符串; 1 - 是汽车,2是自行车。
0 8 * * * /usr/bin/wget http://myboringsite.com/loaddata.php
5 8 * * * /usr/bin/wget http://myboringsite.com/checkloaddatastop.php
End Sub
答案 1 :(得分:0)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target.Column = 1 And Target.Row = 3 Then
Application.ScreenUpdating = False
'start by unhiding all columns
Me.Range("C:BZ").EntireColumn.Hidden = False
'then hide any which need hiding...
If Target.Value = "car" Then
Me.Range("J:BZ").EntireColumn.Hidden = True
ElseIf Target.Value = "bike" Then
Me.Range("C:I,Q:BZ").EntireColumn.Hidden = True
End If
Application.ScreenUpdating = True
End If
End If
End Sub