不爱看超新星 发表于 2021-11-13 17:51:00

当BCD列满足条件时给A列对应区域染色

当X、Y、Z每列每六个数字最大值减最小值大于设置的数值时对应的-1、-2、-3变色,比如B2:B7最大值减最小值大于固定值0.05就把-1染色
C2:C7最大值减最小值大于固定值0.05就把-2染色
D2:D7最大值减最小值大于固定值0.1就把-3染色
以此类推B8:B13
    C8:C13
    D8:D13.........这样   这个用公式可以大概满足要求请问有没有用vba的方法



南志 发表于 2021-12-16 02:24:34

附件中所举的例子不正确吧,比如B2:B7最大值减最小值等于0.033,怎么大于固定值0.05?没有一个符合条件的。
另外染色不行,用辅助列可以标识。公式
=(SUM(SUBTOTAL({4,5},OFFSET($B$2,INT((ROW(1:1)-1)/6)*6,MOD(ROW(1:1)-1,3),6))*{1,-1})>OFFSET($G$1,,MOD(ROW(1:1)-1,3)))*(MOD(ROW(1:1)-1,6)<3)
下拉

你是我的幸福吗 发表于 2022-1-8 19:46:26

感谢回答 在实际使用中旁边的公式会被删掉! 查了一天vba 勉强算解决了这个东西 大佬能解释下这个公式吗? 有点看不懂

奥阁照明 发表于 2022-1-16 09:29:50

Sub AAAAA()
Range("A2:H2545").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark2
.TintAndShade = 0
.PatternTintAndShade = 0
End With '当前选区A2:H2545全部设置成灰白色
Range("J2").Formula = "=IF(MAX(B2:B7)-MIN(B2:B7)>=$M$1,A2,"""")" '给单元格设置公式
Range("J3").Formula = "=IF(MAX(C2:C7)-MIN(C2:C7)>=$M$1,A3,"""")" '给单元格设置公式
Range("J4").Formula = "=IF(MAX(D2:D7)-MIN(D2:D7)>=$O$1,A4,"""")" '给单元格设置公式
Range("J2:J7").AutoFill Destination:=Range("J2:J2545"), Type:=xlFillDefault '将J2:J7向下填充到J2545
Range("J2:J2545").Value = Range("J2:J2545").Value '公式变数值
Range("J1").End(xlDown).Select '选中J列第一个不为空单元格
Selection.Offset(0, -9).Select '下移动0行,右移动-9列
Selection.Interior.Color = 255 '设置成红色
End Sub
这是我想的解决办法 本质上还是用公式解决

迷人丶 发表于 2022-2-9 12:22:27

Sub 六组超限检测()
Range("A2:H2545").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark2
.TintAndShade = 0
.PatternTintAndShade = 0
End With '当前选区A2:H2545全部设置成灰白色
Range("J2").Formula = "=IF(MAX(B2:B7)-MIN(B2:B7)>=$M$1,A2,"""")" '给单元格设置公式
Range("J3").Formula = "=IF(MAX(C2:C7)-MIN(C2:C7)>=$M$1,A3,"""")" '给单元格设置公式
Range("J4").Formula = "=IF(MAX(D2:D7)-MIN(D2:D7)>=$O$1,A4,"""")" '给单元格设置公式
Range("J2:J7").AutoFill Destination:=Range("J2:J2545"), Type:=xlFillDefault '将J2:J7向下填充到J2545
Range("J2:J2545").Value = Range("J2:J2545").Value '公式变数值
Range("J1").End(xlDown).Select '选中J列第一个不为空单元格
Selection.Offset(0, -9).Select '下移动0行,右移动-9列
Selection.Interior.Color = 255 '设置成红色
End Sub
这是用宏填充公式的方法算是解决了这个问题吧
页: [1]
查看完整版本: 当BCD列满足条件时给A列对应区域染色