我有一个财务数据,它表明项目的健康状况,并根据项目的差异填充一个颜色和一个字母来表示健康状况。例如,如果静脉曲张小于5%,它将颜色绿色填充为"G",>5%但小于20%填充"Y“和>20% = "R”。我用if语句得到了这个结果。但是,我需要填充整个项目的颜色。
有5个项目,这些是要求:
所以,如果第一个项目是G,第二个项目是Y第三个项目是Y,4个项目是G,第五个项目是R,我希望它能为整体健康"R“。
我试过使用if语句,但是我必须做的组合太多了。
如何使用VBA excel创建这种“比率”要求?
谢谢
发布于 2012-10-22 16:09:24
您可以为每个Y、R和G创建一个变量,然后根据您的规则执行一个简单的if如果设置一个等于r、y或g的单元格:
Option Explicit
Sub getcounts()
Dim g As Long
Dim r As Long
Dim y As Long
Dim ovrallhealth As Range
Dim variancerange As Range
Set variancerange = Sheets(1).Range("A1:A5")
Set ovrallhealth = Sheets(1).Range("B1")
y = Application.WorksheetFunction.CountIf(variancerange, "y")
g = Application.WorksheetFunction.CountIf(variancerange, "g")
r = Application.WorksheetFunction.CountIf(variancerange, "r")
If r > 0 Then
ovrallhealth = "R"
ElseIf y = 1 And g = 4 Then
ovrallhealth = "G"
ElseIf y = 2 And g = 3 Then
ovrallhealth = "Y"
ElseIf y = 3 And g = 2 Then
ovrallhealth = "Y"
ElseIf y = 4 And g = 1 Then
ovrallhealth = "Y"
ElseIf y = 5 Then
ovrallhealth = "Y"
ElseIf g = 5 Then
ovrallhealth = "G"
End If
End Subhttps://stackoverflow.com/questions/13014785
复制相似问题