sub financials
COUNTIF/VBA有条件/锁定宏观
dim g as long
dim r as long
dim y as long
dim oh as range
dim vr as range
dim sum as long
set vr = Sheets("Financials").Range("B5:B53")
set oh = sheets("Financials").Range("B2")
y = application.worksheetfunction.countif(vr, "y")
g = application.worksheetfunction.countif(vr, "g")
r = application.worksheetfunction.countif(vr, "r")
if g = 5 then
oh = "G"
elseif g = 4 and y = 1 then
oh = "G"
elseif r>=2 then
oh = "R"
elseif y >= 1 and r>= 1 then
oh = "R"
elseif y >=3 then
oh = "R"
elseif g=3 and y=2 then
oh = "Y"
elseif g=4 and r=1 then
oh = "Y"
elseif g=2 and y=3 then
oh = "Y"
elseif y=2 then
oh = "Y"
end if
end sub
这是我迄今书面和它工作正常,但你可以看到有5个细胞taht确定总的电池。但是我意识到有时候只有不到5个细胞 - 有时候只有2或3个。如果小于5这个公式不适用,因为它需要5个细胞来确定整个细胞。
我在想用sum函数。所以总结y,g,r的标识,如果总和等于1,2,3,那么它将执行以下命令,但我不知道如何做到这一点,但如果y,g中,r = 3,然后执行下列操作:
if g = 3 then
oh = "G"
elseif g = 1 and y = 2 then
oh = "Y"
elseif g = 2 and r = 1 then
oh = "Y"
elseif g =1 and y = 1 and r =1 then
oh = "R"
elseif y = 2 and r = 1 then
oh = "R"
elseif r = 3 then
oh = "R"
如果y,G,R的总和= 2,则执行下列操作:
if g = 2 then
oh ="G"
elseif g = 1 and y = 1 then
oh = "y"
elseif y = 1 and r =1 then
oh = "R"
和等
还我需要锁定工作表,但宏必须保持运行。我怎么做?
什么问题你得到现在当少于5?你是什么意思的“5细胞”? – InContext
[这里](http://stackoverflow.com/questions/13014785/ratio-conditional-requirements-for-vba-excel)是一个问题的链接,他从5个单元格中创建这个规则来确定另一个的值。这可能是时候切换到一个案例声明 – scott