【发布时间】:2016-10-19 15:39:47
【问题描述】:
我对 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
我想编写一些程序来将单元格名称(不是值)重命名为 Sales_Oct 而不是 B2,并对选定的范围执行此操作并选择要从中读取名称的行和列。
我想要的是创建一个名称,我知道如何通过名称管理器来做到这一点,但问题是名称管理器只允许“名称”是文本而不是来自其他单元格值的引用。我尝试录制宏并进行修改,但无法通过 Activecell.name 或类似的方式进行。
任何帮助将不胜感激
提前致谢
【问题讨论】:
-
不太清楚细节,但
="Row"&row()"_Column"&Column()不工作吗? “名称”是指创建一个命名范围吗?您能否澄清一下您的意思,或许可以展示您现在的表格,以及您希望它之后的样子? -
单元格已经这样命名了,无需手动进行。如果您使用
Range("A1").Value,它将返回范围 A1 中的值。 -
对不起,如果我不清楚。我的意思是让我们说左行单元格命名为销售,顶部单元格命名为 Oct。我希望单元格名称为“sales_Oct”而不是 B2
-
如果您想按行号和列号引用单元格,请使用
Cells(1,2)(单元格 B1)。 -
无法更改用于单元格的表示法(A1 或 R1C1 内置选项除外)。如果您想在 Excel 中创建
Name(命名范围),可以使用公式功能区中的名称管理器。如果这最终是您想要的,您应该在一个单元格上执行此分配时记录一个宏,然后如果您无法根据您的目的修改它(适用于整个选定范围),请修改您的问题。