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