0

我有一个带有一些 VB 代码的 excel 2010 电子表格,可以根据选择自动隐藏某些行。但是,如果我需要在我的 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 公式,那么有没有办法让它也适用于代码?

谢谢

4

1 回答 1

2

我建议您将相关范围(例如 A97:A101 )(例如 A97:A101 )命名为命名范围,比如说 OPTIONRNGE,然后将您的代码更改为:

Case "NO":  Range("OPTIONRNGE").Rows.Hidden = True
Case "YES": Range("OPTIONRNGE").Rows.Hidden = False

等等,然后,如果你插入行,它会扩展范围,代码仍然会做同样的事情。命名范围几乎总是比硬编码范围或 VBA 中的行号更好。

于 2013-02-20T15:02:34.000 回答