我想在 Excel 中使用 for 循环脚本创建命名范围。
我的目标是为从 B 到 D 列的每一行创建范围,这些范围以 A 列命名。例如:范围“alfae”包含 B1:D1,范围“alfag”包含 B2:D2,依此类推。
这是我创建的基本脚本:
Sub ExampleMacro()
'
' ExampleMacro Macro
'
'
Range("B1:D1").Select
ActiveWorkbook.Names.Add Name:="alfae", RefersToR1C1:="=Munka1!R1C2:R1C4"
End Sub
我的问题:如何循环遍历 A 列中的每一行?如何用单元格的值命名范围(例如 A1:D1="alfae"; A2:D2="alfag"; 等)?
提前谢谢您。
最佳答案
使用A列中的建议名称,尝试:
Sub WhatsInAName()
For Each r In Columns(1).SpecialCells(2)
Range(r.Offset(, 1), r.Offset(, 3)).Name = r.Value
Next r
End Sub
编辑#1:
要节省一些输入,您可以替换:
Range(r.Offset(, 1), r.Offset(, 3)).Name = r.Value
与:
r.Offset(, 1).Resize(, 3).Name = r.Value
关于vba - 如何在 Excel 中使用 for 循环创建命名范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534049/