如何在VBA中編寫自定義函式,來求出滿足條件的和

2021-03-07 21:50:32 字數 1351 閱讀 4782

1樓:匿名使用者

vba**可以實現,但是比較繁瑣(新手),可以用office的定義名稱來實現。

要借助空白區域,在空白的任意乙個單元格(我的是a8)插入——名稱,(2003版本的是插入——名稱,2007版本的是公式——定義名稱),名稱寫col,引用位置上寫=get.cell(63,sheet2!a2:

e3),,(a2:e3表示是有顏色的區域,圖中456行的顏色是我後面加的確定,)關閉,在a8處寫=col,回車得到乙個數字55(這個數字就是當前a2單元格的背景顏色**),然後拖動單元格到和元資料單元格區域大小,2003版的按f9重新整理,2007版的不用。然後在f2那些寫=sumif(a8:

e8,55,$a$1:$e$1),回車,向下拖動公式就可以了。($a$1:

$e$1表示絕對引用需要做加運算的數字區域)

**傳布上來。。。。。。

2樓:匿名使用者

function ac(x as range, y as range)

ac = 0

if x.columns.count <> y.columns.count then

ac = "error"

end if

for i = 1 to x.columnif x.cells(1, i).interior.color = 12611584 then

ac = ac + y.cells(1, i)end if

next i

end function

給你。 在任意單元格輸入 =ac(x,y)就行了,x是帶顏色的單元格區域(單行區域),y是帶值的單元格區域(單行區域)

3樓:匿名使用者

定義 累加變數

對當前行左側的單元格進行判斷,如果為藍色,累加變數=累加變數+單元格

最後返回 累加變數

4樓:匿名使用者

在模組中定義乙個函式,不妨取名為sum_blue,rag作為range型別的引數,函式內的**如下:

function sum_blue(rag as range) as double

dim rag1 as range, a as doublea = 0

for each rag1 in rag

if rag1.interior.color = vbblue then

a = a + cells(5, rag1.column)end if

next

sum_blue = a

end function

返回工作表,在f2輸入公式:

=sum_blue(a2:e2)

下拉至f3

則f2、f3分別求得16和6

VBA中如何在宣告自定義函式之前給陣列賦值

可以在bai函式中定義靜態型別 dustatic a 只能定義通zhi用型別,否則isempty 檢查不dao出來。if isempty a then 這樣保證回陣列只賦值 答一次redim a 5 as string 對陣列賦值操作 end if vba自定義函式,當引數是陣列時,該如何書寫?兩個...

如何在excel的自定義數字格式中如何輸入特殊符號「x」

excel的狀態列就有,見上圖。或者在輸入法的小鍵盤那裡也有 excel中特殊數學符號怎麼輸入 1 對於常用的數學符號可以由excel提供的 特殊字元 輸入。方法 執行選單 插入 特殊符號 點 數學符號 標籤,從中找到需要的符號雙擊輸入。2 對於不常用符號,可通過 公式編輯器 輸入。方法 執行選單 ...

php中自定義的function如何呼叫

注意兩點即可 抄 第一,呼叫其它襲 檔案的函式或類,需要先用include,require,include once,require once這些函式包含一下其它檔案,這四個函式的區別,你可以查一下手冊。第二,對於類外面的函式,在檔案包含以後,可以直接呼叫 對於類內部的函式,在檔案包含以後,如果是靜...