另一个工作表的动态命名范围

嘿,是我

我有这个动态的命名范围:

= OFFSET('Sheet1'!$ H $ 1,0,0,COUNTA('Sheet1'!$ H $ 1:$ H $ 100)-COUNTIF('Sheet1'!$ H $ 1,0))

它仅适用于Sheet1。

如何修改此公式,使其适用于所有工作表?(大约有20种不同的工作表,分别命名为“ 2010”,“ 2011”等)。

编辑:

  • 所有工作表的结构均相同
  • 此动态命名范围将用于更新图表
  • 有没有使用INDIRECT的方法?
用户名

您需要使用工作表范围而不是工作簿范围的同名命名范围。

我已将您的命名范围定义修改为以下内容。

=Sheet1!$H$1:INDEX(Sheet1!$H:$H, MATCH(1E+99, Sheet1!$H:$H))

此VBA将为循环中的所有工作表创建名为范围的工作表范围。

Sub createNames()
    Dim wsn As Long, f As String

    For wsn = 2010 To 2019
        On Error GoTo next_wsn
        With Worksheets(CStr(wsn))
            On Error Resume Next
            .Names("Hnumbers").Delete
            On Error GoTo 0
            f = Replace("=Sheet!R1C8:INDEX(Sheet!C8, MATCH(1E+99, Sheet!C8))", "Sheet", Format(wsn, "'0'"))
            .Names.Add Name:="Hnumbers", RefersToR1C1:=f
        End With
next_wsn:
    Next wsn
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VBA工作表子在另一个工作表中创建命名范围

将表中的命名范围转换为另一个命名范围

将一个Excel工作表中的命名范围复制到另一工作表中的命名范围

参考另一个工作表VBA在Excel中重命名工作表

将工作表中的范围复制到另一个工作表 VBA

基于另一个单元格值的动态命名范围

管理和导入另一个工作簿中的命名范围

将特定范围从一个工作表复制到另一个工作表

从一个工作表中另一个范围内的指定范围中查找值

将动态范围与另一个工作簿中的动态范围进行比较并获取值

NamedRange 引用另一个命名范围

使用数据验证从另一个工作表复制命名图表

根据另一个表中的值构建数字的动态范围

从另一个命名空间动态导入类

通过 VBA 将工作簿的命名范围数据复制到另一个工作簿

如何为每个循环将范围复制到另一个工作表?

VBA 复制范围值并粘贴到另一个工作表中

来自另一个工作表的文本单元格的引用范围

使用间接访问另一个工作表中的单元格范围

将具有公式的范围复制/粘贴到另一个工作表

将用户定义的范围插入另一个工作表

根据范围中的日期更新另一个工作表中的列中的值

如何根据另一个工作表中的数据替换自动填充范围

VBA:无法引用另一个工作表中的范围

Excel - 在另一个工作表上选择范围

将范围作为行多次插入另一个工作表

将值写入另一个工作表“下标超出范围”错误

使间接函数链接到Excel动态中的另一个工作表

复制到另一个工作表中动态创建的行