将ActiveX链接到Excel

希望有人能帮助!

我在VB6编程,正在尝试写一个指标的ActiveX控件。 该指标应改变颜色相对于Excel打开工作簿单元格是真或假。 该指标应该是自动更新,即指标需要链接生活到Excel单元格。

然后,我可以将几个指标c / w链接放置到用户窗体上的不同单元格。 工作簿在用户窗体中打开并testing,对象引用设置正确。

我不知道如何将指标链接到Excel单元格。

这是我正在尝试的一个更大的项目的一部分。 其他控制如条形图,开关等,如果我能得到第一个工作。

提前致谢

您需要先在控件的引用中添加对Microsoft Excel xx库的引用。

接下来,您应该添加一个types为Excel.Worksheet的私有模块级variables,并将其声明为WithEvents,例如

Private WithEvents m_oWorksheet As Excel.Worksheet 

您还应该创build一个名为Worksheet的Property Set过程来设置此variables。

那么你应该为它的Change事件添加代码,例如

 Private Sub m_oWorksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row = 2 Then ' m_oWorksheet.Range("A2") 'Do some coding here End If End Sub 

很显然,.Column = 1和.Row = 2将被您感兴趣的单元坐标replace。我最初使用像“A2”这样的坐标,但发现从m_oWorksheet.Range(“A2”)返回的对象不能直接与目标对象相比,例如

 If Target Is m_oWorksheet.Range("A2") Then 

我试图从目标提取单元格引用“A2”,但我似乎无法find一种方法来做到这一点,除非你写一个函数来执行列/行转换为string引用。

请注意,我提供的以前的答案是非常错误的,因为我正在testing

 If Target = m_oWorksheet.Range("A2) Then 

…只有工作,因为默认值属性是相同的。 如果任何更改的单元格与“已观察”单元格具有相同的值,则会发生这种情况。