失去焦点在activex控制之后重新关注单元格

我有一个工作表(称为控制)与一个单元格的范围,每个覆盖一个形状:

Set shp = Sheet1.Shapes.AddShape(msoShapeFlowchartTerminator, cl.Left + 2, cl.Top + 1.5, 52, 12) 

然后超链接添加到形状允许屏幕提示:

 Sheet1.Hyperlinks.Add Anchor:=shp, _ Address:="", _ SubAddress:="'Control'!" & cl.Address, _ ScreenTip:=shp.name, _ TextToDisplay:=" " 

这可以防止形状的作用发挥作用,而是在SubAddress中的对象上触发工作表SelectionChange事件。

在表单上还有一组activex控件来修改代码的行为。 一个这样的控制是一个checkbox,正如所料,当我点击checkbox,工作表的其余部分失去了焦点(工具栏项灰色和单元格边框缺席)。 当我接下来单击一个单元格(形状)时,工具栏项目恢复为彩色,但我必须再次单击该单元格才能选中它。 每次单击activex控件后,我都尝试重新激活之前选定的单元格,如下所示:

 Private Sub checkbox1_Click() previousTarget.Application.ActiveCell.Activate End Sub 

这工作正常 – 我可以点击任何单元格,它将被选中。 但是,我也有一个ActiveX文本框控件,在这种情况下相同的技术将无法工作,因为文本框需要保留焦点,直到另一个项目被点击。

我确定所有这些工作,如果不使用超链接,所以只是想知道是否有任何解决scheme,或者我不得不放弃我的工具提示(或接受2点击在文本框中input文本后select一个单元格)。