使用vba命名具有行和列标题的单元格

时间:2016-10-19 15:39:48

标签: excel vba macros

我对vba了解不多,但我遇到了一项无法手动完成的任务。

我有一个表(巨大的表),我需要从标准RC名称格式重命名单元格。

示例:

OCT NOV DEC
Sales   B2    C2    D2
Revnue  B3    C3    D3
Total   B4    C4    D4
Row4    B5    C5    D5
Row5    B6    C6    D6

我想编写一些东西,将单元格名称(Not values)重命名为Sales_Oct而不是B2,并将其执行到选定的范围,然后选择Row和Column来读取名称。

我想要的是创建一个名称,我知道如何通过名称管理器执行此操作,但问题是名称管理器仅允许“名称”为文本而不是其他单元格值的引用。我尝试录制宏并进行修改,但未能通过Activecell.name或类似的东西进行。

任何帮助将不胜感激

提前致谢

1 个答案:

答案 0 :(得分:0)

在OP的澄清后编辑

Option Explicit

Sub main()
    Dim cell As Range

    With Worksheets("MyTable").UsedRange '<-- change "MyTable" to actual name of the worksheet with cells to be renamed
        For Each cell In .Offset(1, 1).Resize(.Rows.Count - 1, .Columns.Count - 1)
            cell.name = Intersect(.Columns(1), cell.EntireRow) & "_" & Intersect(.Rows(1), cell.EntireColumn)
        Next cell
    End With
End Sub