excel裡的巨集有什麼作用,Excel裡的巨集有什麼作用?

2021-03-27 10:36:23 字數 5228 閱讀 1250

1樓:匿名使用者

在excel中「巨集」是指能夠完成某乙個特定操作的**,有4.0巨集和vba巨集,一般現在所說的「巨集」是指vba編寫的**。

初學者可以用「工具-巨集-錄製巨集」功能,將常用操作錄製成巨集,然後在需要用的時候,從「工具-巨集-巨集」中選中這個巨集的名字,點「執行」就可以將前面錄製的操作自動執行一次。

熟練運用「巨集」可減輕操作強度,提高效率。

那麼,"巨集"到底是什麼呢?

在excel 97中,"巨集"是乙個難以理解的概念,但對於乙個具體的"巨集"而言,卻是容易理解的,如果說"將一塊文字變為'黑體',字型大小為'三號'"就可以看作乙個"巨集"的話,那麼"巨集"就不難理解了,其實excel 97中的許多操作都可以是乙個"巨集"。

"記錄巨集"其實就是將工作的一系列操作結果錄製下來,並命名儲存(相當於vb中乙個子程式)。在excel 97中,"記錄巨集"僅記錄操作結果,而不記錄操作過程。例如,改變文字字型時,需要開啟"字型"欄中的下拉列表,再選擇一種字型,這時文字即變為所選擇的字型,這是乙個過程,結果是將所選擇的文字改變為所選擇的字型。

而"記錄巨集"則只記錄"將所選擇的文字改變為所選擇的字型"這一結果。

excel 97中工作表是由行和列組成的二維**,我們可以通過系統提供的語句activesheet.cells(i,j),將當前工作表中的第i行第j列所在的單元格中的資料取出(也可將它資料填入到指定的單元格中),然後反把它放入所定義的陣列中,這時就可以對其進行各種操作,如求平均分、總分、分數段人數等等。

本人就利用excel 97中所提供的巨集功能來做學生成績的分析處理程式。本程式是excel中的乙個檔案,其中包含以下幾個巨集:分班、總分、平均分、分數段、刪除等。

本程式是以本校高三理科班學生成績進行分析。

有關程式中用到的幾具巨集的功能說明:

分班:針對於難以確定班級的情況下,以班為單位進行分班,本巨集可以作為高一新生入學時進行分班的功能。

總分:對原始的成績自動求總分。

平均分:對原始的成績以班為單位進行各學科平均成績的計算及全校各學科成績的計算。

分數段:給定乙個最高分數及最低分數,然後統計出各班各個分數段的人數,各分數段人數進行累計。

刪除:用於刪除不用的工作表。

現將各個巨集的**列舉如下:

一.分班

sub 分班()

const studentno = 191 '學生人數

const zdno = 12 '字段數

dim zd$(zdno) '定義為12個字段的陣列

dim a(studentno, zdno), stu(60, zdno)

dim nam$(studentno), bjname$(60) '定義乙個存放全校學生名字及各班學生名字的陣列

dim bj(studentno) '定義存放班級的乙個陣列

'理科班工作表

sheets("高三理").select

for i = 2 to studentno

bj(i) = activesheet.cells(i, 1)

nam$(i) = activesheet.cells(i, 2)

for j = 3 to zdno

a(i, j) = activesheet.cells(i, j)

next j

next i

'存放欄位到陣列中。

for i = 1 to zdno

zd$(i) = activesheet.cells(1, i)

next i

'先建立各個班級的工作表

sheets("高三理").select

sheets("高三理").copy after:=sheets("分數段")

sheets("高三理 (2)").select

sheets("高三理 (2)").name = "33"

for i = 2 to studentno

for j = 1 to zdno

activesheet.cells(i, j) = space$(1)

next j

next i

range("a1").select

for i = 1 to zdno

activesheet.cells(1, i) = zd$(i)

next i

'34到36班工作表的建立

for i = 34 to 36

x$ = mid$(str(33), 2)

sheets(x$).select

sheets(x$).copy after:=sheets("分數段")

sheets(x$ + " (2)").select

sheets(x$ + " (2)").name = mid$(str(i), 2)

next i

'具體分班。

for k = 33 to 36

bjrs = 0

x$ = mid$(str(k), 2)

no = k mod 10

sheets(x$).select

for i = 2 to studentno

if bj(i) = no then

bjrs = bjrs + 1

bjname$(bjrs) = nam$(i)

for j = 3 to zdno

stu(bjrs, j) = a(i, j)

next j

end if

next i

for i = 2 to bjrs

activesheet.cells(i, 1) = no

activesheet.cells(i, 2) = bjname$(i)

for j = 3 to zdno

activesheet.cells(i, j) = stu(i, j)

next j

next i

next k

end sub

二.總分

const studentno = 190

const xknum = 6

const zdnum = 12

sheets("高三理").select

for i = 2 to studentno + 1

sum = 0

for j = 1 to xknum

sum = sum + activesheet.cells(i, j + 3)

next j

activesheet.cells(i, zdnum-1) = sum

next i

end sub

三.平均分

sub 平均分()

const studentno = 190

const xknum = 6

dim fs(studentno, xknum), pjf3(4, 6), bjrs(4), qxpjf(6)

dim bj(studentno)

sheets("高三理").select

'以下程式段用於求全校平均分

for i = 1 to studentno

bj(i) = activesheet.cells(i + 1, 1)

for j = 1 to xknum

fs(i, j) = activesheet.cells(i + 1, j + 3)

next j

next i

for i = 1 to xknum

sum = 0

for j = 1 to studentno

um = sum + fs(j, i)

next j

qxpjf(i) = sum / (j - 1)

next i

'以下程式段用於求各班平均分

for j = 1 to 4

for i = 1 to studentno

ifbj(i) = j + 2 then

bjrs(j) = bjrs(j) + 1

for k = 1 to xknum

pjf3(j, k) = pjf3(j, k) + fs(i, k)

next k

end if

next i

next j

for j = 1 to 4

for i = 1 to 6

pjf3(j, i) = pjf3(j, i) / bjrs(j)

next i

next j

'寫入各班各科平均分

sheets("平均分").select

for i = 1 to 4

for j = 1 to 6

activesheet.cells(i + 2, j + 1) = pjf3(i, j)

next j

next i

'寫入全校各科平均分

i = 7

for j = 1 to 6

activesheet.cells(i, j + 1) = qxpjf(j)

next j

end sub

excel**中的巨集是做什麼用的?有什麼作用??

2樓:匿名使用者

其實我們所能看到的那些命令之所以能實現,是因為程式設計師開發這個上軟體已經把**寫好了,程式已經完善,你點一下那個選單上的對應功能鍵那個功能就實現了,那些功能是開發時候覺得日常中人們會用到所以已經做成選單樣式了

但是那些功能已經滿足不了用記有要求,所以他提供了一種平台巨集,叫使用者可以根據自己的要求編寫**,實現自己的功能。當某乙個功能確實是大家都非常需要,那麼再次出新版本的時候那個功能就已經不需要自己親自編寫**了,那個開發都已經又一次做成選單了。

但是巨集這個平台又不能少,可以讓使用者自行根據需要來實踐,開發的只有那麼幾個人,用的人有很多億,幾個人的想法去開發成選單形式,肯定會有想不到的地方,況且使用者中也有很多程式設計高手,這樣一來也可以推動excel功能的完善化

用巨集主要是為了用少的時間,省的力量去實現自己想要的功能,例如我們複製**到乙個新**,複製乙個還好,但是複製一百個到乙個表這就需要很長時間,但是excel本身沒有提供這種功能,這就需要自己開發乙個巨集,然後實現迅速把一百個表複製到乙個新**中的巨集

希望能幫助到你

3樓:

用巨集主要是為了用少的時間,省的力量去實現自己想要的功能,例如我們複製**到乙個新**,複製乙個還好,但是複製一百個到乙個表這就需要很長時間,但是excel本身沒有提供這種功能,這就需要自己開發乙個巨集,然後實現迅速把一百個表複製到乙個新**中的巨集

希望能幫助到你,還有就是能預防你的**存在安全隱患,如巨集設定高就不容易被病毒感染

excel中的巨集是什麼意思,Excel中的巨集是什麼意思?

將操作步驟錄製成巨集,然後再執行巨集,可以批量實現一些重複操作 巨集是一用語言,主要是為了簡化操作,為了更快的處理資料。現在很少有人使用巨集了,原因是處理的速度問題。就是程式設計,能自動完成一些繁瑣的事情,快,準,狠,比公式還要好用 excel 表中的巨集,是指的你自已建立在表內的一段自動執行你常用...

ecel中的巨集是什麼意思有什麼作用

excel中的巨集是指令碼執行環境。大體意思就是你可以用巨集中提供的vbscript語言來實現自動處理。比如,你可以用巨集來給sheet1裡,a3 a1 a2等。巨集最方便的是批量處理。有些情況下,就算用公式來處理 資料,仍然很麻煩,這時候,巨集就有用處了。再如,有些程式是可以呼叫excel來形成報...

在ecel中巨集是什麼意思有什麼作用

如果經常在 microsoft excel 中重複某項任務,那麼可以用巨集自動執行該任務。巨集是一系列命令和函式,儲存於 visual basic 模組中,並且在需要執行該項任務時可隨時執行。例如,如果經常在單元格中輸入長文字字串,則可以建立乙個巨集來將單元格格式設定為文字可自動換行。巨集命令可以通...