如何在Excel中将包含单选按钮的单元格设置为ActiveCell

时间:2019-05-14 14:09:13

标签: excel vba

我有一个具有不同记录的工作表。 我想要的是:每个记录左侧的单选按钮。单击单选按钮时,将选择并复制它右侧的相应单元格。

问题出在哪里: 标识ActiveCell。我无法将包含单选按钮的单元格设置为ActiveCell。单击单选按钮后,Excel会将我单击的最后一个单元格视为ActiveCell,并开始相对于该单元格进行复制。我要相对于包含单选按钮的单元格进行选择。

如果有人可以编写宏以使包含单选按钮的单元格成为ActiveCell,我将不胜感激。我从Developer> Insert> Form Controls中插入了单选按钮。

1 个答案:

答案 0 :(得分:0)

您可以使用TopLeftCellBottomRightCell来获取选项按钮的位置

Sub OptionButton1_Click()
    Dim rdioButton As OptionButton

    Set rdioButton = ActiveSheet.Shapes(Application.Caller).DrawingObject

    Debug.Print "TopLeft", rdioButton.TopLeftCell.Address
    Debug.Print "BottomRight", rdioButton.BottomRightCell.Address

    rdioButton.TopLeftCell.Select
    Debug.Print "ActiveCell", ActiveCell.Address

End Sub

要查看立即窗口,请在VBA编辑器中按 Ctrl + G 以查看上方Debug语句的输出或导航至通过查看->立即窗口