我已将以下代码添加到我的 Excel 2003 模板 (Book.xlt) 中的 3 张工作表中。每张表中的代码都是相同的;这让我想知道:我可以将代码放在一个地方,以便每张纸都可以使用它。我尝试将其放入 ThisWorkBook 和用户模块中 - 均未成功。
编码
'=====================================================================
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'- Used with conditional format so selected row is shaded yellow:
' =AND(CELL("row")=ROW(),UPPER(cel_HighlightRow)="Y")
Application.ScreenUpdating = True
End Sub
'=====================================================================
Private Sub cmdGrabTable_Click()
'- Select table with 1 click.
Range("tbl_1Main").Select
End Sub 'cmdGrabTable SortData
'=====================================================================
问候,休恩
评论添加 25.Jul.13 在 02:50 (堪培拉, 澳大利亚) 你好
注意: 3 张表中的每张都有一个 cmdGrabTable 按钮和一个 tbl_1Main(即在 Sheet2 中它是 tbl_1Main,而不是 tbl_2Main)。条件格式适用于 3 个表中的每一个。
Application.ScreenUpdating = True:每当我在 tbl_1Main 中选择一个单元格时,所选单元格的行都会突出显示。如果没有“Application.ScreenUpdating = True”代码,它就无法工作。
在 2 个程序中,我有 2 行代码。如果代码很长,我会使用retailcoder 的建议,即每个模块从另一个模块调用通用代码。但除此之外,这些建议似乎有点复杂。正如 David Zemens 所指出的“……听起来 OP 想要避免的是为按钮使用三个不同的 Click 处理程序,为 Worksheet 对象使用 3 个不同的 _Change 处理程序。”</p>
我希望 Click 处理程序可以访问通用代码。不幸的是,retailcoder 指出:“……如果 Sheet1 上有一个按钮,它的 Click 处理程序属于 Sheet1 的代码……。”</p>
非常感谢您努力尝试解决我的问题。问候,休恩