指定给形状的Excel宏能否格式化形状所在的单元格?

指定给形状的Excel宏能否格式化形状所在的单元格?,excel,vba,Excel,Vba,我想将一列单元格视为按钮,单击其中一列,其字体/填充更改将显示它已被选中,格式将从其他“按钮”中清除。看起来,在每个单元格上放置矩形并将它们分配给宏上的某个cell_将起到作用,但我不知道如何使宏动态引用底层单元格。使用ActiveCell不起作用,因为当单击覆盖形状时,下面的单元格实际上未被选中。您可以使用如下超链接: =HYPERLINK("#tester()"," ") 只有空的显示文本,您可以删除下划线格式 链接调用此函数 'in a regular module

我想将一列单元格视为按钮,单击其中一列,其字体/填充更改将显示它已被选中,格式将从其他“按钮”中清除。看起来,在每个单元格上放置矩形并将它们分配给宏上的某个
cell_将起到作用,但我不知道如何使宏动态引用底层单元格。使用
ActiveCell
不起作用,因为当单击覆盖形状时,下面的单元格实际上未被选中。

您可以使用如下超链接:

=HYPERLINK("#tester()","            ")
只有空的显示文本,您可以删除下划线格式

链接调用此函数

'in a regular module
Function tester()
    ActiveSheet.Range("A3:A17").Interior.Color = vbYellow '<< clear rest of range
    Selection.Interior.Color = vbRed  '<< set the clicked cell
    Set tester = Selection '<< must return a range
End Function
常规模块中的“
”
功能测试仪()

ActiveSheet.Range(“A3:A17”).Interior.Color=vbYellow'您可以使用。好的,这样我就不用为形状操心了,对吗?是的,这样您就不用担心形状的移动、排序等问题了。虽然HYPERLINK不接受任何跳转文本公式,只接受字符串或单元格引用,但效果很好。除此之外,
tester
现在是我可以从宏调用的全局变量吗?
=HYPERLINK(“#tester()”,D2&&&E2)
(例如)对我来说很好。你想用什么样的公式
tester
是一个函数-您可以从宏调用它,但不确定为什么要调用它,因为它非常特定于此用例。计算出的公式是:必须从前面删除
=