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 展开
以下是我的代码,但效率十分缓慢.比如在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 展开
2个回答
展开全部
你的代码虽然冗长,但不是卡顿的原因。
检查一下是不是由其他代码引起的或者表格中公式太多了
检查一下是不是由其他代码引起的或者表格中公式太多了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |