關於excel中vba巨集的編寫,如何用excel2013vba編寫巨集

2021-08-02 01:18:44 字數 3027 閱讀 9822

1樓:弘谷翠

excel統計學生成績時的四個難題及解決(1)

一、前言

對於教師而言,經常需要用excel進行學生成績統計,會被一些常見問題難住。碰到的難題主要有:如何統計不同分數段人數、如何在保持學號不變前提下進行排名、如何將百分制轉換成不同分數段與如何用紅色顯示不及格的分數等,本文著重對這些問題的解決方法與技巧加以分析和討論。

本文假設讀者已對excel的基本操作已經有一定基礎,已經掌握如何進行求和、求平均和如何使用自動填充柄進行複製公式等操作,本文對這些一般性操作不做詳細介紹,僅對一些難度較大的操作技巧進行討論。

二、excel統計學生成績時的四個難題

假設在統計學生成績時,我們需要統計出如圖1所示的相關結果。

在圖1 學生成績統計所需要的結果圖

這裡,假設學號、姓名、成績等列及行15都已經事先輸好,需要讓excel統計其他的相關資料結果。這時,成績統計中主要難解決的問題及它們在圖中的位置如下:

問題1:如何統計不同分數段的學生人數?(圖中a16~e16)

問題2:如何在保持學號順序不變的前提下進行學生成績名次排定?(圖中f2~f13)

問題3:如何將百分制轉換成不同的等級分?(圖中「等級1」與「等級2」列)

問題4:如何使不及格的分數以紅色顯示?(圖中紅色顯示部分,即第12行)

三、解決統計學生成績時的四個難題的方法

下面,針對上面提出的四個難題分別討論解決的方法與技巧。

1、統計不同分數段的學生人數

統計不同分數段的學生人數是非常常見的需求,其所需結果如圖1中a16~e16所示。這裡,假設需要統計90~100、80~89、70~79、60~69及低於60分五個不同分數段的人數。

通常,統計不同分數段最好的方法是利用countif(x,y)函式。其中有兩個引數,第乙個引數x為統計的範圍,一般最好用絕對引用;第二個引數y為統計條件,要加引號。

對於小於60分的人數只要用乙個countif( )函式,如在e16單元格中輸入公式:=countif($c$2:$c$13,"<60")。

對於其他在兩個分數之間的分數段的人數統計,需要用兩個countif( )函式相減。如在a16單元格中輸入公式:=countif($c$2:

$c$13,"<=100")-countif($c$2:$c$13,"<90"),即用小於等於100的人數減去小於90的人數。

如果要統計80~89、70~79與60~69分數段的人數,只要利用自動填充柄將該公式複製到右邊三個單元格,再把"<=100"與"<90"作相應的修改,就可以得到正確的結果。

2.保持學號順序不變的前提下進行成績排名

學生成績排定在學生成績統計中經常用到。特別要強調的是,這裡所談的方法不是一般的排序,因為那樣會使學生的學號順序發生變化。這裡所需要的是在保持學號順序不變的情況下進行學生成績名次排定的功能,其所需結果如圖1中f2~f13所示。

excel統計學生成績時的四個難題及解決(1)

一、前言

對於教師而言,經常需要用excel進行學生成績統計,會被一些常見問題難住。碰到的難題主要有:如何統計不同分數段人數、如何在保持學號不變前提下進行排名、如何將百分制轉換成不同分數段與如何用紅色顯示不及格的分數等,本文著重對這些問題的解決方法與技巧加以分析和討論。

本文假設讀者已對excel的基本操作已經有一定基礎,已經掌握如何進行求和、求平均和如何使用自動填充柄進行複製公式等操作,本文對這些一般性操作不做詳細介紹,僅對一些難度較大的操作技巧進行討論。

二、excel統計學生成績時的四個難題

假設在統計學生成績時,我們需要統計出如圖1所示的相關結果。

在圖1 學生成績統計所需要的結果圖

這裡,假設學號、姓名、成績等列及行15都已經事先輸好,需要讓excel統計其他的相關資料結果。這時,成績統計中主要難解決的問題及它們在圖中的位置如下:

問題1:如何統計不同分數段的學生人數?(圖中a16~e16)

問題2:如何在保持學號順序不變的前提下進行學生成績名次排定?(圖中f2~f13)

問題3:如何將百分制轉換成不同的等級分?(圖中「等級1」與「等級2」列)

問題4:如何使不及格的分數以紅色顯示?(圖中紅色顯示部分,即第12行)

三、解決統計學生成績時的四個難題的方法

下面,針對上面提出的四個難題分別討論解決的方法與技巧。

1、統計不同分數段的學生人數

統計不同分數段的學生人數是非常常見的需求,其所需結果如圖1中a16~e16所示。這裡,假設需要統計90~100、80~89、70~79、60~69及低於60分五個不同分數段的人數。

通常,統計不同分數段最好的方法是利用countif(x,y)函式。其中有兩個引數,第乙個引數x為統計的範圍,一般最好用絕對引用;第二個引數y為統計條件,要加引號。

對於小於60分的人數只要用乙個countif( )函式,如在e16單元格中輸入公式:=countif($c$2:$c$13,"<60")。

對於其他在兩個分數之間的分數段的人數統計,需要用兩個countif( )函式相減。如在a16單元格中輸入公式:=countif($c$2:

$c$13,"<=100")-countif($c$2:$c$13,"<90"),即用小於等於100的人數減去小於90的人數。

如果要統計80~89、70~79與60~69分數段的人數,只要利用自動填充柄將該公式複製到右邊三個單元格,再把"<=100"與"<90"作相應的修改,就可以得到正確的結果。

2.保持學號順序不變的前提下進行成績排名

學生成績排定在學生成績統計中經常用到。特別要強調的是,這裡所談的方法不是一般的排序,因為那樣會使學生的學號順序發生變化。這裡所需要的是在保持學號順序不變的情況下進行學生成績名次排定的功能,其所需結果如圖1中f2~f13所示。

2樓:技術愛好者

這麼多的問題,不是很簡單的,你最好自己慢慢做,有具體問題了再來問,這樣問如果別人沒有做過是不會回答你的!

如何用excel2013vba編寫巨集

3樓:南京新華電腦專修學院

alt + f11 進入編寫介面,然後編寫

4樓:匿名使用者

alt + f11 進入編寫介面,然後編寫。。。去找本書學學吧。

excel用vba巨集中用for迴圈將一列滿足條件的後面加上需要的數值比如

直接寫個公式就可以了。假如你那個1在的列是b,在c裡寫公式if b1 1,a 空 然後填充就可以了。如果一定要用vba,那就讀出來單元格的內容,然後根據內容填充就可以了。 姓王的 sub aaa for i 1 to range a65536 end xlup row if cells i,1 張 ...

excel巨集設定,excel中如何啟用巨集

興堅成後文 在excel裡面安全性設為中,而且檔案裡面有寫巨集,則開啟檔案的時候會出個對話方塊,問是否啟用巨集,如果點是,則可以執行巨集命令,如果點否,則巨集不能正常執行。注 巨集是excel裡面編寫的程式 魚木混豬喲 檔案,選項 信任中心,信任中心設定,巨集設定,啟用巨集即可在excel中按下al...

請問如何用VBA將EXCEL檔案中的資料複製到別EXCEL檔案相同的位置

sheet1的區域a1 c3拷貝到sheet2的區域a1 c3 sheet1.range a1 c3 copy sheet2.range a1 c3 丙雅弘雨凝 sub aaa dim sh1 as worksheet dim sh2 as worksheet set sh1 workbooks 1...