以下是引用lpdcd在2004-10-15 9:50:00的发言:
请问:程序放错地方了,什么程序应该在Thisworkbook中,什么程序应在模块中。
如果你想让EXCEL自动为你服务(如打开、关闭文件、单击单元格、更换工作表就自动执行你设置的程序,而不需要去点击按纽或宏--执行宏来触发宏的运行)就考虑用事件程序,也就是放到 MIRCROSOFT EXCEL对象中,如果程序要用手工控制,如点击某个按纽或通过宏选项执行宏才让程序运行,这种情况下用宏按纽方便。
举个例子:填充非空单元格颜色
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Value <> "" Then
Target.Interior.ColorIndex = 3
End If
End Sub
上面是一个事件程序,当工作表内容改变时就运行Target.Interior.ColorIndex = 3
如果这用宏来完成则很不方便,如果这样则,在单元格中每填入一个数字都要点一下按纽运行下面的宏
Sub 矩形1_单击()
If ActiveCell.Value <> "" Then
ActiveCell.Interior.ColorIndex = 3
End If
End Sub
|