不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)電腦>工具軟件>辦公軟件學(xué)習(xí)>Excel教程>Excel函數(shù)>

excel利用vba定義函數(shù)的教程全解

時(shí)間: 業(yè)華773 分享

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程 

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

看了excel利用vba定義函數(shù)的教程還看了:

1.excel中使用vba功能的方法

2.excel進(jìn)行自定義函數(shù)操作的教程

3.excel中使用vba的方法

4.Excel函數(shù)教程

5.excel 自定義函數(shù)的教程

6.excel2007vba基本使用教程

7.excel創(chuàng)建自定義函數(shù)的教程

:$E,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程 

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

看了excel利用vba定義函數(shù)的教程還看了:

1.excel中使用vba功能的方法

2.excel進(jìn)行自定義函數(shù)操作的教程

3.excel中使用vba的方法

4.Excel函數(shù)教程

5.excel 自定義函數(shù)的教程

6.excel2007vba基本使用教程

7.excel創(chuàng)建自定義函數(shù)的教程

:$E,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程 

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

看了excel利用vba定義函數(shù)的教程還看了:

1.excel中使用vba功能的方法

2.excel進(jìn)行自定義函數(shù)操作的教程

3.excel中使用vba的方法

4.Excel函數(shù)教程

5.excel 自定義函數(shù)的教程

6.excel2007vba基本使用教程

7.excel創(chuàng)建自定義函數(shù)的教程

:$B=G3)*($D

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程 

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

看了excel利用vba定義函數(shù)的教程還看了:

1.excel中使用vba功能的方法

2.excel進(jìn)行自定義函數(shù)操作的教程

3.excel中使用vba的方法

4.Excel函數(shù)教程

5.excel 自定義函數(shù)的教程

6.excel2007vba基本使用教程

7.excel創(chuàng)建自定義函數(shù)的教程

:$D>=90)*($E

  Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。

  excel利用vba定義函數(shù)的教程 

  用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)算一些三角形的面積

  用vba定義函數(shù)步驟2:B列是底邊長(zhǎng),C列是高,要求在D列通過公式計(jì)算三角形面積。


excel利用vba定義函數(shù)的教程 圖1

  (通常我們會(huì)在D3單元格用公式 =B3*C3/2 來計(jì)算,然后把這個(gè)公式向D列下方拖動(dòng)復(fù)制,得到其他公式。這只是一個(gè)簡(jiǎn)單的例子,通過它來學(xué)習(xí)編寫簡(jiǎn)單的自定義函數(shù))

  用vba定義函數(shù)步驟3:打開VBA窗口

  按ALT+F11調(diào)出VBA窗口,插入一個(gè)用戶模塊。


excel利用vba定義函數(shù)的教程 圖2

  用vba定義函數(shù)步驟4:編寫代碼

  通常自定義函數(shù)是用function命令開始的,在這個(gè)命令后面給它指定一個(gè)名字和參數(shù)

  把下面這個(gè)自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡(jiǎn)單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號(hào)中的是參數(shù),也就是變量,di表示“底邊長(zhǎng)”,gao表示“高”,兩個(gè)參數(shù)用逗號(hào)隔開。

  再看第二行,這是計(jì)算過程,將di*gao/2這個(gè)公式賦值給sjxmj,即自定義函數(shù)的名字。

  再看第三行,它是與第一行成對(duì)出現(xiàn)的,當(dāng)你手工輸入第一行的時(shí)候,第三行的end function就會(huì)自動(dòng)出現(xiàn),表示自定義函數(shù)的結(jié)束。


excel利用vba定義函數(shù)的教程 圖3

  用vba定義函數(shù)步驟5:使用自定義函數(shù)

  回到EXCEL窗口,我們?cè)贒3單元格中輸入公式 =sjxmj(b3,c3) ,就會(huì)得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。


excel利用vba定義函數(shù)的教程 圖4

  用vba定義函數(shù)步驟6:通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個(gè)稍微復(fù)雜點(diǎn)的自定義函數(shù)。

  經(jīng)常對(duì)數(shù)據(jù)進(jìn)行處理的朋友可以會(huì)遇到多條件查找某一個(gè)數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長(zhǎng),也不易理解。

  比如下面統(tǒng)計(jì)成績(jī)的表格,需要根據(jù)A1:D7的成績(jī)表,統(tǒng)計(jì)出兩門功能都在90分以上的學(xué)生人數(shù)。

  大家可以看到在H3單元格中的公式比較長(zhǎng),理解起來也有一定難度。

  我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:

  Function 統(tǒng)計(jì)(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  這個(gè)函數(shù)用了五個(gè)參數(shù)(因?yàn)樯婕暗揭粋€(gè)區(qū)域和四個(gè)條件)

  參數(shù)a表示要統(tǒng)計(jì)的區(qū)域,在此例中為B2:E7

  參數(shù)b表示要統(tǒng)計(jì)的是哪一個(gè)班級(jí),在此例中為G3單元格

  參數(shù)c表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為3

  參數(shù)d表示數(shù)學(xué)成績(jī)相對(duì)于區(qū)域第一列向右的列數(shù),在此例中為4

  參數(shù)e表示分?jǐn)?shù),在此例中為90分

  提示:要注意參數(shù)c和d“相對(duì)”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計(jì)($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。

  Function 統(tǒng)計(jì)2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統(tǒng)計(jì) = 統(tǒng)計(jì) + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統(tǒng)計(jì)2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實(shí)際情況對(duì)參數(shù)進(jìn)行簡(jiǎn)化。

  用vba定義函數(shù)步驟7:通常這種時(shí)候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

看了excel利用vba定義函數(shù)的教程還看了:

1.excel中使用vba功能的方法

2.excel進(jìn)行自定義函數(shù)操作的教程

3.excel中使用vba的方法

4.Excel函數(shù)教程

5.excel 自定義函數(shù)的教程

6.excel2007vba基本使用教程

7.excel創(chuàng)建自定義函數(shù)的教程

:$E>=90),1,0))


excel利用vba定義函數(shù)的教程 圖5

  用vba定義函數(shù)步驟8:如果我們的成績(jī)表格式是固定的,各科目成績(jī)位置相對(duì)于區(qū)域也是固定的,而且要統(tǒng)計(jì)的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個(gè),如下:


excel利用vba定義函數(shù)的教程 圖6

excel利用vba定義函數(shù)的教程全解

Excel中經(jīng)常需要使用到vba進(jìn)行自定義函數(shù)的技巧,自定義函數(shù)具體該如何用vba自定義呢?接下來是學(xué)習(xí)啦小編為大家?guī)淼膃xcel利用vba定義函數(shù)的教程,供大家參考。 excel利用vba定義函數(shù)的教程 用vba定義函數(shù)步驟1:例:下面表格中需要計(jì)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式
836474