Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Разрешить изменение только области Умной таблицы
 
Как можно защитить лист, что бы пользователь мог только:
1. нажимать кнопки на листе;
2. заполнять "умную" таблицу
    Изначально в таблице будет одна строка, но в ходе заполнения их может стать больше.

Спасибо
 
В модуль листа. Попробуйте выбрать ячейки вне Умной таблицы
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Me.ListObjects(1).Range) Is Nothing Or Target.Count > 1 Then
    Me.ListObjects(1).HeaderRowRange(1).Select
End If
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, govorun, - ну не первый день на форуме. Раз один создал тему с нарушением, а второй ответил - то хоть кто-то должен предложить нормальное, отражающее суть проблемы, название этой темы. Уважайте модераторов и их труд.

Спасибо.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Тема: Разрешить изменение только области Умной таблицы
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, Обалденная вещь, обязательно кину в копилку....
Но беда не решена...
как ввести данные во второй строке?
У меня не получилось...

Дмитрий Щербаков, в нижайшем поклоне прошу прощения...
 
В смысле как?
Согласие есть продукт при полном непротивлении сторон.
 
govorun, у меня-то за что прощения просить? :) Я просто напомнил про правила, извиняться перед модераторами надо. Это новичкам можно расписывать что к чему да почему в красках и деталях. А более опытные участники форума должны знать правило об именовании темы как "Отче наш" :)

По теме: что значит ввести данные во второй строке? В примере она лишь одна :) Если надо разрешить изменять так же размеры таблицы, я бы предложил такой код:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Me.ListObjects(1).Range) Is Nothing Then
        With Application
            .EnableEvents = 0
            .Undo
            .EnableEvents = 1
        End With
    End If
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Sanja, у меня получилось, если сначала вставить пустую строку...
Реализован именно такой подход?
 
Так а как Вы хотите вводить данные в строку Умной таблице если она еще не сформирована? Именно как строка Умной таблицы  
Согласие есть продукт при полном непротивлении сторон.
 
govorun, а еще в своих темах надо отписываться.  Уважать помогающих тоже нужно.
 
Цитата
vikttur написал:
а еще в своих темах надо отписываться
В плане помогло или нет? Хорошо.
С другой стороны, опять же в тему "Уважать помогающих тоже нужно" игнорировать ответы форумчан, не предложивших, например, конкретное решение, но принимавших участие в обсуждении, тоже нельзя (естественно, если диалог шел по существу). По-этому челом бью и с прошением к властьимщим сего форума обращаюсь.
Сделайте кнопку "Спасибо" и строку внизу поста: Поблагодарили/Сказали спасибо: Ваня, Мотя, govorun... Ведь спасибо может сказать не только вопрошающий, но и участник обсуждения, если для него какая то информация оказалась полезной. Вот как-то так.
Цитата
Sanja написал:
Так а как Вы хотите вводить данные в строку Умной таблице если она еще не сформирована?
На незащищенном листе введите данные сразу под таблицей или сразу справа - и она растянется. В том числе и по-этому она "Умная"
 
По поводу "спасибы" - посетите Курилку

Цитата
спасибо может сказать не только вопрошающий, но и участник обсуждения
... и это он сможе сделать в сообщении.
Да и не обязательно рассыпаться в благодарностях - "подошло/не подошло", обычная вежливость. Например, тема о списке листов. Два ответа, Вашей реакции нет...
 
Дмитрий Щербаков, Я не игнорировал Ваше предложение (#7), просто надо комп дочке уступить... Чуть позже (если пустит) отпишусь
Изменено: govorun - 7 Апр 2018 12:20:39
 
Цитата
vikttur написал:
По поводу "спасибы" - посетите Курилку
Если в почти середине 21-го века существует такая техническая проблема, ну что же, будем писать... Странно все это. Люди на Марс собираются лететь, подводные города строить, а у нас проблема - кнопку в движке допилить... Странно все это.
 
Цитата
govorun написал:
Люди на Марс собираются лететь, подводные города строить,
а у вас проблема - строчку из #2 допилить  :cry:

нет, и не надо, не больно и хотелось.
Изменено: RAN - 7 Апр 2018 21:10:29
 
Цитата
RAN написал:
а у вас проблема - строчку из #2 допилить
Да, у меня проблема..., и именно по-этому я здесь... Или форум существует не для таких, как я? Вы скажите, не стесняйтесь.  
 
И Вы не стесняйтесь, отпишитесь в теме о списке листов. Третий раз уже напоминаю! Или оно Вам не нужно? Зачем было помогать?...
 
govorun, виноват, был не прав, больше не буду.
 
Дмитрий Щербаков, Ваше предложение в #7 не хочет работать. Ругается при после любых действий сразу после открытия файла: Metod 'Undo' of Object '_Application' failed. Ошибка 1004.
 
Цитата
govorun написал:
Ругается при после любых действий
очень интересно. А какие действия происходят? Ошибка может происходить только в случае, если значения ячеек вообще не изменялись(т.е. буфер обмена просто пуст). Да и на приложенном файле у меня все работает. Вы точно событие Change используете, а не SelectionChange? Файл, где не работает можете приложить и описать хоть одно действие, приводящее к ошибке?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий Щербаков написал:
а не SelectionChange
Да, накосячил маленько... Поправил - работает. Спасибо
Страницы: 1
Читают тему (гостей: 1)