EXCEL VBA语言相关..怎么自动隐藏某行
本帖最后由 dllplayer 于 2016-8-26 20:43 编辑RT
现在是这样...我在D18单元格写了一个IF函数..会返回"通过"和"抗剪不足"两个值.
然后希望在当返回的是通过的时候隐藏掉下面的大概3-5行..而返回抗剪不足的时候.显示下面的几行..好进行弯起钢筋相关的计算
根据搜索..按ALT+F11打开VBA界面..
然后在左边sheet1上双击..
复制进去如下一段
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 18 And .Count = 4 Then
If .Value = "通过" Then
.Rows(22, 25).EntireRow.Hidden = True
End If
End If
End With
End Sub
结果没反应......求各位大大能帮忙修改并说明下.....毕竟无编程基础..就靠推理和搜索在试验 本帖最后由 后腿 于 2016-8-26 20:56 编辑
看描述还不太懂……我随便说下,首先这个过程在sheet有变化时触发,接受一个range参数,但是这里的target如果不是一个单元格,一般是左上角的,也就是程序认为的第一个,所以说后面的.count是永远只有1的,要判断框选的单元格数量要用selection.count,target.count=4没用,.column是列数,你D列是4,要表达行数是.row,然后后面target.rows(22,25)……会报错,不知为什么,单target.row(22)是target往下22行
With Target
If .Row = 18 and selection.count=4 Then
If .Value = "通过" Then
ActiveSheet.Rows(22,25).EntireRow.Hidden = True
End If
End If
End With
这样就是当选中18行某单元格切选区正好是4格,且左上角单元格的值是"通过",就把当前sheet的22到25行隐藏
如果要表达刚好选中D18,则是 If .row= 18 and .column=4 Then
还没测自定义函数能不能隐藏行,我吃个饭回来试
页:
[1]