我有一个excel 2010电子表格,其中包含一些VB代码,可根据选择自动隐藏某些行。但是,如果我需要在excel电子表格中插入一行,它不会像公式那样自动更新vb代码。
以下是我的代码示例:
If Target.Address(False, False) = "B96" Then
Select Case Target.Value
Case "NO": Rows("97:101").Hidden = True
Case "YES": Rows("97:101").Hidden = False
End Select
End If
例如,如果我在我的Excel电子表格中插入一个新行,在第90行,我本来希望VB代码自动更新,target.address将更改为B97,依此类推。它适用于Excel公式,所以有没有办法使它适用于代码呢?
谢谢
答案 0 :(得分:2)
我建议你将相关范围(例如A97:A101)的名称(部分)命名为命名范围,让我们说OPTIONRNGE,然后将您的代码更改为:
Case "NO": Range("OPTIONRNGE").Rows.Hidden = True
Case "YES": Range("OPTIONRNGE").Rows.Hidden = False
等。然后,如果您插入行,它将扩展范围,代码仍将执行相同的操作。命名范围几乎总是比VBA中的硬编码范围或行号更好。