类模块中的工作表事件

时间:2012-05-16 13:38:13

标签: events vba excel-vba excel

我已经创建了一个用于更改所选单元格颜色的代码。 Usualy我将该代码放在Sheet1 VBA文件中,或者我正在使用它的任何工作表。

我想将它放入类模块文件中,因此可以更容易地将其实现到另一个工作表或excel文件中。

班级模块是否适合它?我的整个想法是有几种类型的事件,以及一些简单的方法来打开和关闭它们,以及将代码迁移到另一个excel文件。

您认为最佳方法是什么?

代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Range("A1").Value = "yes") Then
        Dim iColor As Integer
        On Error Resume Next
        iColor = Target.Interior.ColorIndex
        iColor = 36
        Cells.FormatConditions.Delete
        Target.FormatConditions.Add Type:=2, Formula1:=iInternational
        Target.FormatConditions(1).Interior.ColorIndex = iColor
    Else
        Cells.FormatConditions.Delete
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

Siddharth是现场。您不需要类模块。要解决您的问题,您可以编写代码来更新工作簿代码,以便任何给.bas文件中的任何给定模块都可以被复制到工作簿中的任何对象中。

因此,如果您在myLibrary.bas中有Worksheet_Change代码,则可以将其复制并将其放在工作簿中的每个Worksheet对象中。

这是开始使用它的好地方:Working with Modules