Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как сделать фигуры невыделяемыми в соответствии с названием - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как сделать фигуры невыделяемыми в соответствии с названием (Макросы/Sub)
Как сделать фигуры невыделяемыми в соответствии с названием
mv6677 Дата: Вторник, 22.08.2017, 18:27 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер, форумчане. Помогите решить проблему.
На листе находится множество фигур.
В таблице сбоку - занесены названия фигур.
Напротив некоторых их названий стоит единица.

Как при помощи макроса сделать те фигуры, названия которых помечены единицей в таблице - невыделяемыми ?
А те фигуры, напротив названий которых - единицы не стоит - оставить выделяемыми.
К сообщению приложен файл: 234456856.xls (65.5 Kb)
 
Ответить
СообщениеДобрый вечер, форумчане. Помогите решить проблему.
На листе находится множество фигур.
В таблице сбоку - занесены названия фигур.
Напротив некоторых их названий стоит единица.

Как при помощи макроса сделать те фигуры, названия которых помечены единицей в таблице - невыделяемыми ?
А те фигуры, напротив названий которых - единицы не стоит - оставить выделяемыми.

Автор - mv6677
Дата добавления - 22.08.2017 в 18:27
AndreTM Дата: Вторник, 22.08.2017, 22:14 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
А что есть "невыделяемая фигура"?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеА что есть "невыделяемая фигура"?

Автор - AndreTM
Дата добавления - 22.08.2017 в 22:14
mv6677 Дата: Вторник, 22.08.2017, 23:02 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
А что есть "невыделяемая фигура"?


Щелчок на одной фигуре - параметры фигуры - свойства. Убрать галочку "Защищаемый объект".
Затем щелчок на ярлычке листа - пункт "защитить лист", снять галочку с пункта - изменение объектов.

В итоге - некоторые фигуры (с которых убрана галочка "Защищаемого объекта") - можно выделить, а те фигуры где такая галочка стоит - выделить становится нельзя.
Это и есть - "невыделяемые фигуры".

(предполагается, что защиту с ячеек я уже снял)


Сообщение отредактировал mv6677 - Вторник, 22.08.2017, 23:07
 
Ответить
Сообщение
А что есть "невыделяемая фигура"?


Щелчок на одной фигуре - параметры фигуры - свойства. Убрать галочку "Защищаемый объект".
Затем щелчок на ярлычке листа - пункт "защитить лист", снять галочку с пункта - изменение объектов.

В итоге - некоторые фигуры (с которых убрана галочка "Защищаемого объекта") - можно выделить, а те фигуры где такая галочка стоит - выделить становится нельзя.
Это и есть - "невыделяемые фигуры".

(предполагается, что защиту с ячеек я уже снял)

Автор - mv6677
Дата добавления - 22.08.2017 в 23:02
AndreTM Дата: Среда, 23.08.2017, 01:46 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Проверяйте...
[vba]
Код
Sub checkLockedObj()
    'ActiveSheet.Unprotect
    Dim cell As Range, shp As Shape
    Set cell = ActiveSheet.[B6] ' первая ячейка таблицы с названием фигуры
    While Len(cell.Value) > 0
        Set shp = ActiveSheet.Shapes(cell.Value)
        If cell.Offset(, 1) = 1 Then
            shp.Locked = msoTrue
        Else
            shp.Locked = msoFalse
        End If
        Set cell = cell.Offset(1)
    Wend
    'ActiveSheet.Protect
End Sub
[/vba]Если в "боевом" режиме при выполнении макроса защита листа включена, и надо, чтобы она осталась включенной - раскомментируйте строчки с Protect/Unprotect


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 23.08.2017, 01:48
 
Ответить
СообщениеПроверяйте...
[vba]
Код
Sub checkLockedObj()
    'ActiveSheet.Unprotect
    Dim cell As Range, shp As Shape
    Set cell = ActiveSheet.[B6] ' первая ячейка таблицы с названием фигуры
    While Len(cell.Value) > 0
        Set shp = ActiveSheet.Shapes(cell.Value)
        If cell.Offset(, 1) = 1 Then
            shp.Locked = msoTrue
        Else
            shp.Locked = msoFalse
        End If
        Set cell = cell.Offset(1)
    Wend
    'ActiveSheet.Protect
End Sub
[/vba]Если в "боевом" режиме при выполнении макроса защита листа включена, и надо, чтобы она осталась включенной - раскомментируйте строчки с Protect/Unprotect

Автор - AndreTM
Дата добавления - 23.08.2017 в 01:46
mv6677 Дата: Среда, 23.08.2017, 02:57 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
AndreTM, все работает.
Большое спасибо за помощь.
 
Ответить
СообщениеAndreTM, все работает.
Большое спасибо за помощь.

Автор - mv6677
Дата добавления - 23.08.2017 в 02:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как сделать фигуры невыделяемыми в соответствии с названием (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!