gpt4 book ai didi

Excel 宏循环通过列分配单元格名称框

转载 作者:行者123 更新时间:2023-12-04 20:19:09 25 4
gpt4 key购买 nike

我想用相邻单元格的值填充单元格的名称框。这个宏有效。

Sub NameBox()
' populates name box w/ value from adjacent cell
ActiveCell.Name = ActiveCell.Offset(0, -1).Value
' steps down to next cell
ActiveCell.Offset(1, 0).Select
End Sub

我分配了一个击键并遍历列中的每个单元格,这很容易,但我认为可以通过循环来改进它。

我试过这个。
Sub NameBoxLoop()
Dim cel As Range
For Each cel In Range("C:C").Cells
If cel.Value <> "" Then
cel.Name = cel.Offset(0, -1).Value
End If
Next cel
End Sub

但我收到以下调试错误

cel.Name = Application-defined or object-defined error



循环逻辑看起来正确,如果我将变量 cel.Name 替换为 cel.Value 循环将完成。

搜索没有提供 cel.Name 错误的答案。感谢您提供解决此错误的任何帮助。

最佳答案

你的公式有效。但也许你的环境不是最优的,因为你没有纠错 - 并且名称有限制。

所以我猜你在 B 列中没有值,或者 B 列中的值已经被用作其他单元格的名称。

在这两种情况下,您的循环都会中断。

无论如何尝试这个循环,但考虑错误证明你的代码:

Sub NameBoxLoop()
On Error Resume Next
Dim cel As Range
For Each cel In Range("C:C").Cells
If cel.Value <> "" Then
cel.Name = cel.Offset(0, -1).Value
End If
Next cel
end sub

编辑:

作为建议,您可能需要考虑使用 Names list 。

这是 excel-help 中的一个示例:
ActiveWorkbook.Names.Add Name:="test", RefersTo:="=sheet1!$a$1:$c$20"

这里有一些对象成员:
  • 添加
  • 项目
  • 关于Excel 宏循环通过列分配单元格名称框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289211/

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