gpt4 book ai didi

excel - 使用动态名称自动创建命名范围

转载 作者:行者123 更新时间:2023-12-04 21:27:38 24 4
gpt4 key购买 nike

我想在一列中选择一个单元格范围,使用选定的单元格自动创建一个命名范围,该单元格在名称中包含一个数字,然后对超过 5 列的列执行相同的操作。这是我到目前为止所拥有的,但它不起作用:

Sub AddNamesMacro()

Dim startingrow As Integer
startingrow = 1

Dim endingrow As Integer
endingrow = 1000

For i = 0 To 100 Step 4
Worksheets("TTMIS").Range(Cells(startingrow, i + 1), Cells(endingrow, i + 1)).Select


ThisWorkbook.Names.Add Name:="IS_AccountNames_Year" & i, RefersTo:=Selection.Address(External:=True)
Next

End Sub
当我运行它时,对于任何 i,我都会以我想要的方式获得命名范围;但是,在名称管理器中,由宏产生的每个命名范围对于“值”和“引用到”列都有相同的内容。例如,“Refers To”列会显示 '[Filename]TTMIS'!$A$1:A$1000 而“Value”列会显示 '[Filename]TTMIS'!$A$1:A$1000 而不是列出值

最佳答案

根据所有评论:

Sub AddNamesMacro()

Dim startingrow As Long
startingrow = 1

Dim endingrow As Long
endingrow = 1000

Dim rng As Range

Dim i As Long
For i = 0 To 100 Step 4
With Worksheets("TTMIS")
Set rng = .Range(.Cells(startingrow, i + 1), .Cells(endingrow, i + 1))
End With

ThisWorkbook.Names.Add Name:="IS_AccountNames_Year" & i, RefersTo:= "=" & rng.Address(1, 1, xlA1, 1)
Next

End Sub
还有一个建议:
为了更好地在名称管理器中排序,我将使用:
Name:="IS_AccountNames_Year" & Format(i,"000")
使所有数字变为 3 位数字。

关于excel - 使用动态名称自动创建命名范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66754140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com