0
我需要显示或隐藏基于答案片中的问题,工作表中。如果答案是“是”,则显示表单。如果“否”,然后隐藏它。所以这部分很容易...
现在,这个问题可能存在多次在工作表上。如果对任何问题的回答都是“是”,则显示表单;如果所有答案都是“否”,则隐藏表格。假设问题和答案总是在相同的地方,这将是很容易,以及...
在哪里我迷路了,问题和答案单元格可能真的几乎在工作表内的任何地方,也可能发生无限次数(可能永远不会超过10次......但它可以)。
所以我需要的是找到问题OFFSETS(0,1)的代码,然后触发宏,如果它等于target.address。我可以在问题表中首次发现问题,但如果我进一步回答问题,则无法触发宏。
这里是我现在所在:“追加担保物”
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Yes" Then
If Target.Offset(0, -3).Value = "Additional Collateral?" Then
Coll
Else
Exit Sub
End If
ElseIf Target.Value = "No" Then
If Target.Offset(0, -3).Value = "Additional Collateral?" Then
Coll
Else
Exit Sub
End If
Else
Exit Sub
End If
End Sub
**
Sub Coll()
If ActiveCell.Value = "Yes" Then
Sheets("Additional Collateral").Visible = True
Exit Sub
Else
Sheets("Additional Collateral").Visible = xlVeryHidden
End If
End Sub
此代码除如果答案为“是”对任何的一切我需要该工作表可见的问题。此代码仅基于最近的答案...
您如何识别哪些细胞在纸张上包含感兴趣的问题? –
问题是“补充担保?”我使用Cells.Find ...来找到问题,然后OFFSET(0,1),这将我带到答案。每次我改变答案时,都会触发宏运行。 –
为什么不直接检查'Target'(获得更改的单元格)是否/否单元格,并将问题留在左侧......这种方式只会更改单元格(它也会更快)? ? –