我已经注意到这一点,但我找不到任何适合我的问题。
所以,我有一个100 * 30的矩阵,我希望得到第一行中前4个元素的平均值,然后是第一行中元素的平均值,依此类推。
由此,我将有一个24 * 30的矩阵。我已经完成了,但是mt会将结果间隔4个元素。
如何一起创建矩阵?
这是我的代码:
Private Sub CommandButton1_Click()
Dim media_horaria As Long
Dim hora As Long
media_horaria = 0
hora = 0
With Sheets("Folha1")
For i = 28 To 58
For j = 3 To 100 Step 3
hora = Cells(i, j).Value + Cells(i, j + 1).Value + Cells(i, j + 2).Value + Cells(i, j + 3).Value
media_horaria = hora / 4
Cells(i + 45, j).Value = media_horaria
Next j
media_horaria = 0
hora = 0
Next i
End With
End Sub
修改
使用结果矩阵,我想根据单元格值创建一个颜色映射。例如,如果单元格值低于0.5且高于0.45,则涂成浅红色。如果电池高于0.50且低于0.55漆深红色。随着矩阵下的图例。顶级将有一张照片。
答案 0 :(得分:0)
此用于创建条件格式规则的代码段可以适合您现有的子代码或从另一个子代码运行。
With Sheets("Folha1").Cells(73, 3).Resize(31, 33)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=AND(RC>=0.45,RC<0.5)"
With .FormatConditions(.FormatConditions.Count).Interior
.PatternColorIndex = xlAutomatic
.ColorIndex = 3
End With
.FormatConditions.Add Type:=xlExpression, Formula1:="=AND(RC>=0.5, RC<0.55)"
With .FormatConditions(.FormatConditions.Count).Interior
.PatternColorIndex = xlAutomatic
.ColorIndex = 9
End With
.Cells(.Rows.Count, 1).Offset(2, 1) = "Legend"
.Cells(.Rows.Count, 1).Offset(3, 0).Interior.ColorIndex = 3
.Cells(.Rows.Count, 1).Offset(3, 1) = ChrW(8805) & "0.45 And <0.5"
.Cells(.Rows.Count, 1).Offset(4, 0).Interior.ColorIndex = 9
.Cells(.Rows.Count, 1).Offset(4, 1) = ChrW(8805) & "0.5 And <0.55"
End With
可能需要根据最终数据所在的位置稍微调整行和列引用。如果您对颜色选择不满意,请记录设置单元格颜色的宏,并使用.Color =
而不是.ColorIndex =
的有限调色板。