【发布时间】:2016-06-29 16:08:31
【问题描述】:
我有以下代码,我试图根据工作表选项卡名称来命名整个 A 和 B 列范围。我希望将每个工作表中的每个 A:B 单元格区域命名为 RoomCode_ + excel 工作表选项卡的名称。
例如,如果我有 3 张名为 XYZ、ABC 和 DEF 的工作表,那么这 3 张工作表的单元格范围名称应分别为:
RoomCode_XYZ
RoomCode_ABC
RoomCode_DEF
我通常会通过突出显示单元格范围并键入我想要的范围名称来手动执行此操作,但是我有超过 150 个选项卡,并且希望能够通过此过程自动完成所有操作。
Sub nameRanges()
Set wbook = ActiveWorkbook
For Each sht In wbook.Worksheets
sht.Activate
RangeName = "RoomCode_" + ActiveSheet.Name
CellName = "A:B"
Set cell = ActiveWorksheets.Range(CellName)
ActiveWorksheets.Names.Add Name:=RangeName, RefersTo:=cell
Next sht
End Sub
【问题讨论】:
-
我相信工作表和范围的命名规则是不同的,例如,如果工作表/选项卡的名称中有空格,您就会遇到问题。