【问题标题】:Excel If statement for setting cell drop down box and hideExcel If语句设置单元格下拉框并隐藏
【发布时间】:2018-05-27 23:01:58
【问题描述】:

我有一个电子表格,它使用包含值 B、G、Y、A 和 N/A 的下拉框来跟踪任务。每个状态的数量是通过 count if 语句在工作表顶部计算的。

我希望使用与上述相同的方法在每个部分上方添加另一个下拉框。因此,您可以为团队选择 N/A。 为团队选择 N/A 时,我需要将一部分行也设置为 N/A 并隐藏行。

我很难理解我应该添加什么以将单元格设置为 N/A - 请有人帮忙。

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("G13") = "N/A" Then

将单元格 E14-E22 设置为 N/A 并隐藏第 14 - 22 行

    'Range("14:22").EntireRow.Hidden = True'


    Else
    Range("14:22").EntireRow.Hidden = False

End If

结束子

触发单元格详情如下

目标触发单元 G13 单元格范围第 14 - 22 行

目标触发单元 G23 单元格范围第 24 行

目标触发单元 g 25
单元格范围第 26 - 27 行

目标触发单元 G28 单元格范围第 29 - 30 行

目标触发单元 G31
单元格范围行 32 - 34

目标触发单元 G35 单元格范围第 36 - 38 行

目标触发单元 G39 单元格范围行 30 - 41

目标触发单元 G42 单元格范围第 43 - 44 行

目标触发单元 G45 单元格范围第 46 - 49 行

目标触发单元 G50 单元格范围第 51 行 -54

目标触发单元 G55 单元格范围行 56 - 57

目标触发单元 G58 单元格范围行 59 - 61

目标触发单元 G62 单元格范围第 63 - 68 行

目标触发单元 G69 单元格范围第 70 - 83 行

目标触发单元 G84 单元格范围行 85 - 87

目标触发单元 G88 单元格范围第 89 - 97 行

目标触发单元 G98 单元格范围第 99 - 104 行

目标触发单元 G105 单元格范围行 106 - 111

目标触发单元 G112 单元格范围行 113 - 115

目标触发单元 G116 单元格范围行 117 - 118

目标触发单元 G119 单元格范围行 120 - 124

目标触发单元 G125
单元格范围行 126 - 128

目标触发单元 G129
单元格范围行 130 - 137

目标触发单元 G138 单元格范围行 139 - 145

目标触发单元 G146 单元格范围行 147

【问题讨论】:

    标签: excel if-statement return-value add


    【解决方案1】:

    如果您的触发单元格是 G13、G23、G33 等,那么,

    Private Sub Worksheet_Change(ByVal Target As Range)
    
        If Target.Count > 1 Then Exit Sub
    
        If Not Intersect(Target, Range("G:G")) Is Nothing And _
               (Target.Row Mod 10) = 3 And _
               Target.Row >= 13 Then
            On Error GoTo meh
            Application.EnableEvents = False
            With Target.Offset(1, -2).Resize(9, 1)
                If Target.Value2 = "N/A" Then
                    .Value = "N/A"
                    .EntireRow.Hidden = True
                Else
                    .Value = vbNullString
                    .EntireRow.Hidden = False
                End If
            End With
        End If
    meh:
        Application.EnableEvents = True
    
    End Sub
    

    【讨论】:

    • 感谢以上内容很有帮助。目标单元格并不总是 10 个,例如第一个是 G13,第二个是 G23,但第三个是 G25,所以它会发生变化。 - 有什么想法可以将其包含在代码中吗?如果需要,我可以提供所有目标单元格的列表以及应该隐藏的内容。
    • 并非没有办法确定目标触发单元格及其下方的范围。
    • 如果我能解决这个问题,我可以简单地做一些 if 语句吗?例如,如果我知道目标触发单元格是 G13 并且单元格范围行是 14 - 22 如果 G13 = N/A 那么单元格 E14 - 22 也是 N/A 并且隐藏,是否可以这样做?然后做 else if 并继续下一个?
    • 如果 ... then ... elseif ... then ... elseif ... end if 可能会更好。
    • 好的,谢谢 - 有什么想法可以让单元格的值变为 N/A 吗?我想我已经接近 If ... then ... elseif ... then ... elseif ... end if 在原始问题中只是不确定如何设置单元格 E14 - E22 以更改以包含该值“不适用”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2013-09-25
    • 2020-04-07
    • 1970-01-01
    • 2017-10-24
    • 2017-02-05
    • 1970-01-01
    相关资源
    最近更新 更多