找回密码
 立即注册
搜索

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

4
回复
247
查看
[复制链接]

2

主题

7

帖子

3

幻币

初入江湖

Rank: 1

积分
13
2021-11-13 17:51:00 显示全部楼层 |阅读模式
当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的方法
c40a8526a5316d2780839985de663757.png

f129db48398e343015e2d261e11dd749.png
工作簿1.zip (16.42 KB, 下载次数: 176)
PPT学习论坛
回复

使用道具 举报

1

主题

6

帖子

0

幻币

初入江湖

Rank: 1

积分
6
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)
下拉
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

幻币

初入江湖

Rank: 1

积分
7
2022-1-8 19:46:26 显示全部楼层
感谢回答 在实际使用中旁边的公式会被删掉! 查了一天vba 勉强算解决了这个东西 大佬能解释下这个公式吗? 有点看不懂
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

9

帖子

1

幻币

初入江湖

Rank: 1

积分
11
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
这是我想的解决办法 本质上还是用公式解决
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

6

帖子

2

幻币

初入江湖

Rank: 1

积分
4
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
这是用宏填充公式的方法算是解决了这个问题吧
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册