Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запретить изменять имя умной таблицы в excel / 4 сообщений из 4, страница 1 из 1
24.09.2018, 07:49
    #39706755
SandraSidorova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить изменять имя умной таблицы в excel
Есть макрос для работы с одной из умных таблиц на листе. Пользователь может делать с таблицей все что угодно, т.е. переносить на другой лист, менять колонки местами, удалять колонки. Но нужно как-то запретить удаление и переименование самой таблицы, а также переименование колонок. Подскажите, пожалуйста, как это сделать
...
Рейтинг: 0 / 0
24.09.2018, 10:16
    #39706809
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить изменять имя умной таблицы в excel
SandraSidorova,

Переименование столбцов можно запретить простым макросом в модуле книги(правая кнопка мыши на ярлыке листа -Исходные текст(или Посмотреть код):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Me.ListObjects("Таблица1").HeaderRowRange, Target) Is Nothing Then
        Application.EnableEvents = 0
        Target.Offset(1).Cells(1, 1).Select
        Application.EnableEvents = 1
    End If
End Sub


Таблица1 - имя таблицы. Если таблица на листе только одна - то можно обратиться по индексу:
Код: vbnet
1.
Me.ListObjects(1).HeaderRowRange


тогда имя таблицы будет вообще неважно для кода.

А вот запретить переименование самой таблицы невозможно. Здесь надо просто перед запуском макроса проверять наличие этой таблицы на листе и если её нет - выдавать сообщение:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim lo As ListObject
    On Error Resume Next
    Set lo = Me.ListObjects("Таблица1")
    On Error GoTo 0
    If lo Is Nothing Then
        MsgBox "Таблица 'Таблица1' не найдена на листе. Выполнение кода невозможно!", vbCritical, "www.excel-vba.ru"
        Exit Sub
    End If
...
Рейтинг: 0 / 0
24.09.2018, 14:13
    #39707019
SandraSidorova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить изменять имя умной таблицы в excel
The_Prist,

Спасибо большое за пояснения! Придется ограничить количество таблиц на листе до одной и при сохранении макросом задавать имя.
...
Рейтинг: 0 / 0
25.09.2018, 09:39
    #39707463
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запретить изменять имя умной таблицы в excel
SandraSidorovaпри сохранении макросом задавать имяА смысл это делать, если таблица будет одна? Обращайтесь к ней всегда по индексу и проблем не будет лишних.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запретить изменять имя умной таблицы в excel / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]