商務英語實用英語

excel的宏是什麼意思

本文已影響 1.51W人 

在Excel製作表格時,大家是否會遇到“宏”呢,它的主要用途是?下面是本站小編給大家整理的excel的宏是什麼意思,供大家參閱!

ing-bottom: 48.59%;">excel的宏是什麼意思
  excel的宏是什麼意思

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

"記錄宏"其實就是將工作的一系列操作結果錄製下來,並命名存儲(相當於VB中一個子程序)。在Excel 97中,"記錄宏"僅記錄操作結果,而不記錄操作過程。例如,改變文字字體時,需要打開"字體"欄中的下拉列表,再選擇一種字體,這時文字即變爲所選擇的字體,這是一個過程,結果是將所選擇的文字改變爲所選擇的字體。而"記錄宏"則只記錄"將所選擇的文字改變爲所選擇的字體"這一結果。

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

本人就利用Excel 97中所提供的宏功能來做學生成績的分析處理程序。本程序是Excel中的一個文件,其中包含以下幾個宏:分班、總分、平均分、分數段、刪除等。

  Excel宏是什麼大概意思

簡單的說你可以把宏理解爲一個記錄器,它所記錄的是你在Excel裏每一步操作所導致的結果,並能將這些操作結果再次實現出來。

例如,你在開始錄製宏後在A1單元格輸入了“中國”兩個字,然後結束錄製宏。那麼當你再次執行剛剛錄製的宏,它就會自動在A1單元格輸入“中國”兩個字。

不過單純的錄製宏可實現的功能很有限(其實就是將你的操作原封不動的在來一遍),如果需要實現更多的功能就要對宏進行相應的編輯。

如果你想學的話,可以去百度上找下教程還是很好找的,搜Excel VBA教程就行

  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("高三理")ct

For i = 2 To studentno

bj(i) = s(i, 1)

nam$(i) = s(i, 2)

For j = 3 To zdno

a(i, j) = s(i, j)

Next j

Next i

'存放字段到數組中。

For i = 1 To zdno

zd$(i) = s(1, i)

Next i

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

Sheets("高三理")ct

Sheets("高三理") After:=Sheets("分數段")

Sheets("高三理 (2)")ct

Sheets("高三理 (2)") = "33"

For i = 2 To studentno

For j = 1 To zdno

s(i, j) = Space$(1)

Next j

Next i

Range("a1")ct

For i = 1 To zdno

s(1, i) = zd$(i)

Next i

'34到36班工作表的建立

For i = 34 To 36

x$ = Mid$(Str(33), 2)

Sheets(x$)ct

Sheets(x$) After:=Sheets("分數段")

Sheets(x$ + " (2)")ct

Sheets(x$ + " (2)") = Mid$(Str(i), 2)

Next i

'具體分班。

For k = 33 To 36

bjrs = 0

x$ = Mid$(Str(k), 2)

no = k Mod 10

Sheets(x$)ct

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

s(i, 1) = no

s(i, 2) = bjname$(i)

For j = 3 To zdno

s(i, j) = stu(i, j)

Next j

Next i

Next k

End Sub

二.總分

Const studentno = 190

Const xknum = 6

Const zdnum = 12

Sheets("高三理")ct

For i = 2 To studentno + 1

Sum = 0

For j = 1 To xknum

Sum = Sum + s(i, j + 3)

Next j

s(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("高三理")ct

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

For i = 1 To studentno

bj(i) = s(i + 1, 1)

For j = 1 To xknum

fs(i, j) = s(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("平均分")ct

For i = 1 To 4

For j = 1 To 6

s(i + 2, j + 1) = pjf3(i, j)

Next j

Next i

'寫入全校各科平均分

i = 7

For j = 1 To 6

s(i, j + 1) = qxpjf(j)

Next j

End Sub

猜你喜歡

熱點閱讀

最新文章