Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.10.2008, 18:06   #1
Град
Пользователь
 
Регистрация: 07.04.2008
Сообщений: 36
По умолчанию Как присвоить имя автофигуре?

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

и ещё:
можно ли написать такой макрос, чтобы он сравнивал имя автофигуры , искал это имя в столбце и найдя изменил какое-нидь cвойство автофигуры (цвет, размер, текст написал и т.п) в зависимости от данных справа от этой ячейки.

Наверное сложно объясняю.
присмер:
Есть автофигура с названием "стол". Макрос ищет в таблице(столбце) ячейку св которой написано "Стол" и если справа стоит "0", то автофигура становится красной, если от 1 до 5, то она увеличивается в два раза и т.п.

Заранее благодарю
Град вне форума
Старый 16.10.2008, 22:33   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Коллеги, есть ли способ присваивания нужного имени автофигуре?
Конечно есть. Свойство Name автофигуры доступно для записи.

Цитата:
можно ли написать такой макрос, чтобы он сравнивал имя автофигуры , искал это имя в столбце и найдя изменил какое-нидь cвойство автофигуры (цвет, размер, текст написал и т.п) в зависимости от данных справа от этой ячейки
Написать можно любой макрос... В частности, с автофигурой можно очень много чего сделать - у неё много всяких свойств.

См. вложение:
Вложения
Тип файла: rar Автофигуры.rar (14.1 Кб, 188 просмотров)
EducatedFool вне форума
Старый 16.10.2008, 23:03   #3
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

еще имя фигуре можно присвоить не макросом, просто выбрать нужную фигуру, в верхнем левом углу вместо "прямоугольник 1" написать "стол" и нажать enter, и все - shapes("стол") вернет нужную фигуру.
tolikman вне форума
Старый 17.10.2008, 09:51   #4
Град
Пользователь
 
Регистрация: 07.04.2008
Сообщений: 36
По умолчанию

Большое спасибо!
Посмотрел.. Работает. Буду разбираться!
Думаю вопросы возникнут по ходу...
Спасибо
Град вне форума
Старый 17.10.2008, 15:48   #5
Град
Пользователь
 
Регистрация: 07.04.2008
Сообщений: 36
По умолчанию

Можно сделать так, чтобы не нужно присваивать Номер фигуре?
Что бы достаточно было имени.(В столбце писать не номер её, а имя)?

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

Спасибо!
Град вне форума
Старый 17.10.2008, 16:09   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Замените процедуру ChangeShapeProperties на следующую, после чего вместо номеров автофигур в диапазоне "b3:b14" укажите имена автофигур (регистр не учитывается)

Код:
Sub ChangeShapeProperties()
    On Error Resume Next
    Dim sh As Shape, ra As Range, ce As Range
    Set ra = ActiveSheet.Range("b3:b14") ' задаёт диапазон ячеек с именами автофигур
    For Each sh In ActiveSheet.Shapes
        For Each ce In ra.Cells
            If StrComp(sh.Name, ce.Value, vbTextCompare) = 0 Then
                    ShapeProperty = ce.Offset(, 1).Value
                    ApplyShapeProperty sh, ShapeProperty
            End If
        Next ce
    Next sh
End Sub
EducatedFool вне форума
Старый 17.10.2008, 17:16   #7
Град
Пользователь
 
Регистрация: 07.04.2008
Сообщений: 36
По умолчанию

Супер! Работает! Большое спасибо!
Град вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в формуле одной ячейки присвоить значение другой? Эдгар Microsoft Office Excel 10 06.10.2008 15:00
Вставка - Имя - Присвоить - ограничения? Konstantin_Z Microsoft Office Excel 8 27.08.2008 16:37
Как объекту рисования (овал) присвоить значение? Град Microsoft Office Excel 8 17.07.2008 10:42
как присвоить char'у символ перевода строки? Retiz Помощь студентам 6 06.04.2008 00:05
Как присвоить апостраф? Apollo_13 Общие вопросы Delphi 3 08.08.2007 14:37