EXCEL用VBA代码设置单元格条件格式。急求高手!!!大神速来,跪求!!
要求如图:急求,在线等。。。。值得注意的是那些数据都是有VBA运算得来的,所以它是动态的,我用条件格式设置,它数据一刷新条件格式就没了。。。所以又要重来,很浪费时间精力,...
要求如图:
急求,在线等。。。。
值得注意的是那些数据都是有VBA运算得来的,所以它是动态的,我用条件格式设置,它数据一刷新条件格式就没了。。。所以又要重来,很浪费时间精力,
所以求能否用VBA来设置单元格的条件格式。。
跪求大神高手!!!
是分别设置B1:B10这个范围内的数字最大的前5位填充浅红色底纹,,D1;D10这个范围内的数字最大的前5位填充浅红色底纹...... 展开
急求,在线等。。。。
值得注意的是那些数据都是有VBA运算得来的,所以它是动态的,我用条件格式设置,它数据一刷新条件格式就没了。。。所以又要重来,很浪费时间精力,
所以求能否用VBA来设置单元格的条件格式。。
跪求大神高手!!!
是分别设置B1:B10这个范围内的数字最大的前5位填充浅红色底纹,,D1;D10这个范围内的数字最大的前5位填充浅红色底纹...... 展开
3个回答
展开全部
您好,您的需求可以通过 VBA 添加单元格的条件格式来实现,演示代码如下:
Public Sub SetTop5()
Dim t5 As Top10
Set t5 = Union(Range("B1:B10"), _
Range("D1:D10"), _
Range("F1:F10"), _
Range("H1:H10")).FormatConditions.AddTop10
With t5
.TopBottom = xlTop10Top
.Rank = 5
.Interior.Color = &HCEC7FF
End With
Set t5 = Nothing
End Sub
追答
那就用循环解决:
Public Sub SetTop5()
Dim t5 As Top10
Dim lngCol As Long
For lngCol = 2 To 8 Step 2
Set t5 = Cells(1, lngCol).Resize(10).FormatConditions.AddTop10
With t5
.TopBottom = xlTop10Top
.Rank = 5
.Interior.Color = &HCEC7FF
End With
Next
Set t5 = Nothing
End Sub
运行效果(B、D、F、H 列中用了随机数公式 =RANDBETWEEN(1,100),然后按 F9 或 Shift+F9 计算工作簿/表,接着各列中的前五个数就会跟着自动变化):
展开全部
在VBA代码中取消随机函数的易失性即可
更多追问追答
追问
怎么取消?
追答
在代码开始位置增加
Application.Volatile (False)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你录制一个宏不就搞定了吗啊?
追问
就是懒到连录制宏都不想
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询