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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2017, 15:32   #1
mktoll
 
Регистрация: 11.12.2017
Сообщений: 5
По умолчанию Подставление фигуры в ячейку по условию

Добрый день.
Подскажите пожалуйста как прописать код, который будет в зависимости от значения ячейки подставлять в неё (ячейку) фигуру (например ромб), цвет фигуры зависит от условия в ячейке. Проверять на наличие данных в ячейке необходимо весь лист.
Буду очень признателен.
Вложения
Тип файла: xlsx Пример.xlsx (10.4 Кб, 17 просмотров)
mktoll вне форума Ответить с цитированием
Старый 11.12.2017, 21:43   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: xlsx Пример (51).xlsx (10.3 Кб, 22 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.12.2017, 22:17   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

IgorGO,
Код:
#define ромб круг
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.12.2017, 09:29   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Леша,
я фигур вообще не различаю - я дальтоник!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.12.2017, 15:32   #5
mktoll
 
Регистрация: 11.12.2017
Сообщений: 5
По умолчанию

Благодарю, но условное форматирование не подойдёт, т.к.:
1) в нём будут другие условия, которые должны будут заполнять (помимо ромба) еще информацию
2) нужен действительно ромб, не круг, это критично
3) размер ячейки будет очень маленький, при это размер ромба уменьшаться не должен
mktoll вне форума Ответить с цитированием
Старый 12.12.2017, 17:21   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте
Код:
Sub Скругленныйпрямоугольник3_Щелчок()
Dim c As Range, x
  For Each c In Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
    Select Case c.Value
    Case 1: x = "РомбЗел": GoSub 1
    Case 2: x = "РомбКрас": GoSub 1
    End Select
  Next
  Exit Sub

1 With ActiveSheet.Shapes(x).Duplicate
    .Left = c.Left + (c.Width - .Width) / 2
    .Top = c.Top + (c.Height - .Height) / 2
    .Visible = True
  End With
  Return
End Sub
Ромбы находятся на листе, но невидимы.
Вложения
Тип файла: zip Пример (16).zip (16.7 Кб, 20 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.12.2017, 11:52   #7
mktoll
 
Регистрация: 11.12.2017
Сообщений: 5
По умолчанию

Спасибо огромное, все работает.
Только как я могу отобразить невидимые ромбы? Через "найти и выделить" не находит ни одной фигуры. Хотелось бы поменять размер под необходимый.
mktoll вне форума Ответить с цитированием
Старый 14.12.2017, 12:15   #8
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

В окне Immediate VBA
Код:
for each s in activesheet.shapes:s.visible=true:next
Скрыть соотв. =false
Можете оформить в виде макросов, повесить на другие кнопки.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.12.2017, 12:40   #9
mktoll
 
Регистрация: 11.12.2017
Сообщений: 5
По умолчанию

Еще раз спасибо огромное, все замечательно работает.
mktoll вне форума Ответить с цитированием
Старый 14.12.2017, 14:00   #10
mktoll
 
Регистрация: 11.12.2017
Сообщений: 5
По умолчанию

Еще один вопрос:
Макрос не сможет распознавать условие красного ромба - двойку, если она стоит не значением, а получилась в результате вычисления формулой, например =5-3?
mktoll вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать ячейку активной / неактивной по условию Cluster Microsoft Office Excel 10 31.07.2015 09:50
Перенос данных с ячейки в ячейку по условию Perova irina Microsoft Office Excel 13 25.01.2015 17:08
Создание фигуры по условию GAS1979 Microsoft Office Excel 15 14.10.2014 15:26
Автоматическое подставление данных Enigmatic Microsoft Office Excel 8 13.01.2012 19:48
Извлечь в одну ячейку несколько значений из строки которые удовлетворяют заданному условию. Dorvir Microsoft Office Excel 5 08.04.2008 16:12