vba - 如何在 Excel 中使用 for 循环创建命名范围?

标签 vba excel

我想在 Excel 中使用 for 循环脚本创建命名范围。

Example dataset

我的目标是为从 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/

相关文章:

vba - 为什么我在将数组分配给范围时遇到问题

vba - 如何使用 VBA 在 Excel 中使用 Open Solver

Excel:如何从单元格中删除所有回车符?

javascript - 将 HTML 表导出到 Excel,包括文本区域和下拉选定值

vba - 使用偏移量查找空单元格并粘贴值范围

excel - VBA 不匹配 IF 语句

Excel/Excel VBA 剪切和复制重置单元格名称

python - 使用 Python Loop 从 Excel 文件创建多个 .txt 文件

VBA 填充标题下的第一行

r - 在 Excel 中复制具有格式的工作表