excel怎样在vba设置在某个范围内选中其中某个单元格,则改变该单元格的格式

excel怎样在vba设置在某个范围内选中其中某个单元格,则改变该单元格的格式,该单元格取消选择则恢复到先前状态。以下是我的代码,但效率十分缓慢.比如在T5:T1000范... excel怎样在vba设置在某个范围内选中其中某个单元格,则改变该单元格的格式,该单元格取消选择则恢复到先前状态。
以下是我的代码,但效率十分缓慢.比如在T5:T1000范围内我选中T5单元格后,t5单元格内容由“已隐藏”变为实际数值,取消选中T5后(比如点击旁边的F7),T5重新恢复显示“已隐藏”。我的代码已经实现该效果,但是每次取消选中后都是将T5:T1000范围内的所有单元格重置恢复,非常卡顿,请帮优化解决。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Row >= 5 And Selection.Column = 20 Then
Call 格式改变1
Else
Call 格式改变2
End If
End Sub

Sub 格式改变1()
Selection.NumberFormatLocal = "G/通用格式"
With Selection.Font
.Color = 192
End With
End Sub

Sub 格式改变2()
Range("T5:T1013").NumberFormatLocal = """已""""隐""""藏"""
With Range("T5:T1013").Font
.Color = 111
End With
End Sub
展开
 我来答
姓王的wy451

2018-03-18 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8866万
展开全部
你的代码虽然冗长,但不是卡顿的原因。
检查一下是不是由其他代码引起的或者表格中公式太多了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一箭惊仙
2018-03-18 · TA获得超过870个赞
知道小有建树答主
回答量:1724
采纳率:62%
帮助的人:604万
展开全部
也就这样了,慢就是电脑的事了,还有就模块就两行没必要call,with下面就一个条件也没必要with,这些貌似都不会提高运行速度
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式