EXCEL VBA如何用一段代码控制多个工作表,而不用在每个工作表下写代码?

我有一段代码,要在每个工作表中运行,现在我把这段代码写在每个工作表下面都有,这样十分不妥当,有没一种方法,就用一段代码,直接写在模块下,控制多个工作表?SubWorkSh... 我有一段代码,要在每个工作表中运行,现在我把这段代码写在每个工作表下面都有,这样十分不妥当,有没一种方法,就用一段代码,直接写在模块下,控制多个工作表?
Sub WorkSheet_SelectionChange(ByVal Target As Range)

If Target.Row > 0 Then
On Error Resume Next
[ChangColor_With].FormatConditions.Delete
'整行
Target.EntireRow.Name = "ChangColor_With"
'单元格
'Target.Name = "ChangColor_With"
With [ChangColor_With].FormatConditions
.Delete
.Add xlExpression, , "TRUE"
.Item(1).Interior.ColorIndex = 4 '绿色
End With
End If
End Sub
展开
 我来答
qgrmdtj
2009-01-19 · TA获得超过5689个赞
知道大有可为答主
回答量:1619
采纳率:0%
帮助的人:0
展开全部
可以用一段就行了,如插入一个模块,给这段代码叫作abc
sub abc ()
你的一段代码
end sub

然后在每个工作表中画一个矩形,然后给这个按钮输入代码call abc

Sub 矩形1_单击()
Call abc
End Sub
----------------------------------------
那么你可以先插入一个模块,给这段代码叫作abc
sub abc ()
On Error Resume Next
[ChangColor_With].FormatConditions.Delete
'整行
Selection.EntireRow.Name = "ChangColor_With"
'单元格
'Target.Name = "ChangColor_With"
With [ChangColor_With].FormatConditions
.Delete
.Add xlExpression, , "TRUE"
.Item(1).Interior.ColorIndex = 4 '绿色
End With
end sub

然后你在每个工作表的WorkSheet_SelectionChange事件中输入
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 0 Then
abc
End If
End Sub

注:有几个工作表就要在那几个工作表的SelectionChange中输入

If Target.Row > 0 Then
abc
End If

即可,你再运行一下试试看
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式