2014-12-16 4 views
1

Я использую Excel 2007. У меня есть рабочий лист, который содержит много форм. Каждая форма привязана к ячейке на другой электронной таблице (то есть «= Data! $ F $ 5»), чтобы распределить некоторый текст в каждой форме.Можно ли использовать форму форму в качестве ссылки на ячейку?

Теперь я хотел бы использовать формулу в фигурах в качестве отправной точки для ссылки на другие ячейки на листе. Идея заключается в том, чтобы запустить макрос, когда пользователь нажимает на фигуру, чтобы предоставить им дополнительную информацию в окне сообщения.

Я пробовал сделать строку из «ActiveShape.DrawingObject.Formula», но не имел никакого успеха. Кто-нибудь знает, как это сделать или предложить другой способ этого?

Любая помощь очень ценится.

ответ

1

В макросе, которое вы назначили фигуре. Вы можете использовать ActiveSheet.Shapes(Application.Caller).name, чтобы получить название формы , а затем ActiveSheet.Shapes.Range(Array(name)), чтобы получить ссылку на форму. Затем вы можете выбрать и использовать Selection.formula, чтобы получить формулу

Скопируйте этот и вставьте его в свой макрос для формы, и вы можете увидеть, как это работает:

Dim name As String 
Dim formula As String 
name = ActiveSheet.Shapes(Application.Caller).name 

ActiveSheet.Shapes.Range(Array(name)).Select 
formula = Selection.formula 

MsgBox formula 

Примечание: Я стараюсь и просто делать formula = ActiveSheet.Shapes.Range(Array(name)).formula, но vba был недоволен мной. Поэтому мне пришлось придерживаться .Select and Selection.formula

+0

Спасибо, шанс! Это именно то, что я искал. –