Страницы: 1
RSS
Кликом по ячейке или фигуре запускать разные макросы
 
Здравствуйте форумчане! Подскажите можно ли как нибудь добавить фигуру в ячейку (переместить фигуру из другой ячейки) при помощи условного форматирования? Если да, какую формулу нужно применить для этого? Нужно чтобы в одной ячейке в зависимости от значения в другой ячейке появлялись фигуры с различными макросами.
 
Заявленными средствами никак. Только кодами.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
OSA913 написал:появлялись фигуры с различными макросами.
Это что вообще такое? Фигуры с макросами? Может Вам что-то другое надо?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал: Может Вам что-то другое надо?
Извиняюсь за неправильную формулировку вопроса. Как я понимаю чтобы вызвать команду кликом по ячейке в нее нужно поместить фигуру а к фигуре назначить макрос или есть еще другие варианты?
 
Что-то неясно... Вам надо перемещать фигуры с макросами? А файл-пример можно приложить?
There is no knowledge that is not power
 
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
BeforeDoubleClick (как вариант)
 
Цитата
OSA913 написал:
Как я понимаю чтобы вызвать команду кликом по ячейке в нее нужно поместить фигуру а к фигуре назначить макрос или есть еще другие варианты?
Фигуру помещать в ячейку необязательно: можно вызвать исполнение несколькими способами:
1. Клик по ячейке.
2. Двойной клик.
3. Правый клик.
Ну и, разумеется, можно самой фигуре назначить макрос. Но для этого необязательно фигура должна быть привязана к какой-либо ячейке.
Что Вас конкретно интересует?
 
Нужно чтобы в одной ячейке при изменении значения в другой ячейке появлялся новый макрос ну или фигура с назначенным на нее макросом.

Цитата
SuperCat написал: файл-пример можно приложить?
Файла-примера нет пока.
Изменено: OSA913 - 03.01.2016 19:44:31
 
Цитата
OSA913 написал:
Нужно чтобы в одной ячейке при изменении значения в другой ячейке появлялся новый макрос
Вы путаетесь в терминологии: макросы в ячейке не живут ))
Попробуйте переформулировать свой вопрос.
Пока мне кажется, что Вам нужно следующее:
Например, по правому клику по ячейке А1 (если В1 = 1), нужно вызвать Macro1. А если в ячейке В1 будет значение = 0, то уже вызывать Macro2
Примерно так? )
 
Да, только важно чтобы был один левый клик по ячейке
 
Цитата
OSA913 написал:в одной ячейке
ну тогда:
Код
if [a1] = 1 then call Первый_Макрос
if [a1] = 2 then call Второй_Макрос
и все на одной фигуре
 
В модуль листа
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [A1]) Is Nothing Then
        If [B1] = 1 Then Call Какой_то_макрос
    End If
End Sub
Согласие есть продукт при полном непротивлении сторон
 
См. пример. В ячейке В1 могут быть значения 1, 2, 0. В зависимости от этого при активации ячейки А1 будут вызываться на исполнение три разных макроса.
 
Вы могли бы подробней описать куда этот код нужно вводить? и можно ли так назначить одной фигуре более 2х макросов? заранее благодарю!
 
В моём файле ничего и никуда "вводить" не нужно ))  
 
Цитата
OSA913 написал:
можно ли так назначить одной фигуре более 2х макросов?
Можно - см. пример.
 
Спасибо большое! Я понял в первом примере никаких фигур не нужно и условного форматирования также, достаточно прописать код
 
В первом без фигур - по событию активации ячейки А1. Во втором эта возможность тоже осталась )
Страницы: 1
Читают тему
Наверх