Именование ячейки в Excel - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь создать серию макросов для аудита некоторых финансовых моделей.Первый макрос, который я пытаюсь создать, - это имя текущей ячейки.Зачем?Я хочу назвать ячейку, после чего я собираюсь записать макрос, чтобы щелкнуть «Прецеденты трассировки» и перейти к ячейке, которая имеет отношение.

После этого мне нужно вернуться к исходной ячейке, то есть к названной.Это простая функция, но мне нужно, чтобы макрос именования работал

Мой записанный код для макроса имен выглядит следующим образом:

Sub Namer ()

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

End Sub

У меня есть следующие проблемы:

  1. Мне нужно назвать текущую ячейку в книге с большим количеством листов.Я буду перемещаться между листами, но у моего записанного кода есть «фиксированный» лист.Как я могу это исправить?Назовите текущую ячейку на текущем листе

1 Ответ

0 голосов
/ 26 апреля 2019

Что-то вроде этого должно помочь вам ...

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...