在Excel中命名单元格

时间:2019-04-25 21:36:23

标签: excel vba

我正在尝试创建一系列宏来审核某些财务模型。 我要创建的第一个宏是用于命名当前单元格的宏。为什么?我要命名该单元格,然后记录一个宏,单击“ Trace Precedents”,然后转到具有该关系的单元格。

在那之后,我需要回到原来的单元格,那就是命名单元格。这很容易使用,但是我需要命名宏正常工作

我为命名宏录制的代码如下:

Sub Namer ()

    ActiveWorkbook.Names.Add Name:="Name1", RefersToR1C1:="=Workings!R42C6"
    ActiveWorkbook.Names("Name1").Comment = ""

End Sub

我遇到以下问题:

  1. 我需要用很多工作表来命名工作簿中的当前单元格。我要在工作表之间移动,但是我记录的代码有一个“固定”工作表。 我该如何解决?在当前工作表上命名当前单元格

1 个答案:

答案 0 :(得分:0)

类似的东西应该可以帮助您...

Public Sub CreatesNames()
    Dim objSheet As Worksheet

    For Each objSheet In ThisWorkbook.Worksheets
        objSheet.Names.Add Name:="Name1", RefersTo:=objSheet.Range("A1")
    Next
End Sub

...注意,名称可以在工作表级别或工作簿级别创建,因此,如果要在工作表之间创建相同的名称,则需要使用Worksheet对象,而不是Workbook对象。

所以要使用活动单元...

工作表级别

ActiveSheet.Names.Add Name:="Name1", RefersTo:=ActiveCell

工作簿级别

ActiveWorkbook.Names.Add Name:="Name1", RefersTo:=ActiveCell

我希望有帮助。