【发布时间】:2017-01-13 10:36:41
【问题描述】:
目前我正在努力使用数组使工作代码更小。我将很快解释代码;
如果某个零件需要在数据表中(此工作表称为“高压研磨辊”),则用户可以通过在 Sheets(“Invulformulier”) 上输入值“a”来定义它。如果单元格值为“a”,现在有几个部分可以在数据表上。如果我们有“partA”、“partB”和“partC”,则单元格的 RangeName 将是 Sheets(“Invulformulier”)上部分的名称。 Sheets(“高压研磨辊”)上范围的 RangeName 将是零件的名称 +“1”。例如“partA1”。这个范围必须隐藏,具体取决于用户是否为“partA”输入“a”。
这是我使用和工作的代码,但特定于单元格名称:
Sub Hidecellv1 ()
If Range("partA").Value = "a" Then
Sheets("High Pressure Grinding Rolls").Range("partA1").EntireRow.Hidden = False
ElseIf Range("partA").Value = "" Then
Sheets("High Pressure Grinding Rolls").Range("partA1").EntireRow.Hidden = True
End If
End Sub
这段代码很具体,我想做一个数组。这是我目前所拥有的:
Sub Hidecellwitharray ()
Dim rngName As Range
Dim cell As Range
Application.ScreenUpdating = False
For Each cell In Range("Checkbox") 'Where user puts in value "a" or not
If cell.Value = "a" Then
Sheets("High Pressure Grinding Rolls").Range(RangeName & "1").EntireRow.Hidden = False
Else
Sheets("High Pressure Grinding Rolls").Range(RangeName & "1").EntireRow.Hidden = True
End If
Next cell
Application.ScreenUpdating = True
End Sub
为每个部件搜索值“a”是可行的,但如果插入或未插入值“a”,我无法让它隐藏数据表中的部件。如何引用变量 RangeName?
【问题讨论】:
-
我不清楚 RangeName 是什么。它是您工作表上的命名范围吗?
-
不,我只是使用它,因为我认为它可能指的是单元格的名称。