Динамическое переименование таблицы Excel на лист и пересылка динамического имени в другие модули и макросы

Следующая настройка

1 рабочий лист с необработанными данными 1 рабочий лист в неделю (например, 31, 32, ...)

необработанные данные копируются с действием пользователя текущей рабочей таблицы. однако, так как имя таблицы уже существует на другой неделе, имя таблицы "tableweek", следующая копия рабочего листа получает ее таблицу, переименованную в "tableweek2", "tableweek3" и т. д., поскольку это непредсказуемо, я предпочел бы назвать таблицу такой же, как переменная таблицы, чтобы я мог использовать имя таблицы в следующих макросах и сводной таблице.

однако со всеми темами о динамическом переименовании имен таблиц я не мог понять, как правильно установить его и передать другим макросам (в других модулях)

лучшее, что я нашел, это

Sub RenameTable()
With ActiveSheet
    .ListObjects(1).Name = "MyTableName"
End With

End Sub

однако, это просто руководство, когда я комбинирую его с динамическим именем (например, формула из ячейки), я не получаю его на работу. кроме того, как передать его всем остальным макросам.

спасибо за любую помощь или указания направления.

1 ответ

Кажется, я не так далек от решения:

Sub RenameTable()
    Dim tblName As String
    tblName = Range("D8").Text

    With ActiveSheet
        .ListObjects(1).Name = tblName
    End With
End Sub

Теперь мне просто нужно передать это "tblName"И это должно быть так.
Делимся им на тот случай, если кому-то еще нравится это "решение"

Другие вопросы по тегам