程闊華
摘要:《汽車(chē)配件管理》課程比較枯燥,學(xué)生學(xué)習(xí)起來(lái)興趣不大。如何解決這個(gè)問(wèn)題呢?筆者在這門(mén)課的教學(xué)中,有意引入VAB語(yǔ)言編寫(xiě)小程序,正所謂“他山之石可以攻玉”,收到了很好的效果。
關(guān)鍵詞:VBA語(yǔ)言;汽車(chē)配件管理;程序;應(yīng)用
《汽車(chē)配件管理》課程的內(nèi)容主要有:汽車(chē)配件的采購(gòu)管理、庫(kù)存管理、倉(cāng)儲(chǔ)管理、銷(xiāo)售管理等?!镀?chē)配件管理》課比較枯燥,學(xué)生學(xué)習(xí)起來(lái)興趣不大。如何解決這個(gè)問(wèn)題呢?筆者在這門(mén)課的教學(xué)中,有意引入VAB語(yǔ)言,讓學(xué)生動(dòng)手編寫(xiě)小程序,收到了很好的效果。
1課程融合,讓學(xué)生有興趣
VBA是什么?它是Visual Basic For Application的簡(jiǎn)稱(chēng),是一種自動(dòng)化語(yǔ)言。在EXCEL中的宏,就是用來(lái)執(zhí)行命令的一些VBA語(yǔ)句,能使EXCEL自動(dòng)化。《汽車(chē)配件管理》這門(mén)課沒(méi)有VBA編程的內(nèi)容,VAB語(yǔ)言簡(jiǎn)單易學(xué),利用Excel中自帶的VBA語(yǔ)言編程學(xué)習(xí)《汽車(chē)配件管理》這門(mén)課是可行的。
引入VAB語(yǔ)言編寫(xiě)小程序,課程融合,讓學(xué)生動(dòng)手編寫(xiě)小程序。在教學(xué)中先觀(guān)看微課,微課如下:(1)錄制一個(gè)宏;(2)制作按鈕;(3)在按鈕內(nèi)添加錄制的宏程序。讓學(xué)生感覺(jué)簡(jiǎn)單,并且激發(fā)學(xué)生學(xué)習(xí)的興趣。然后,學(xué)習(xí)VBA的基本知識(shí),學(xué)以致用,編寫(xiě)程序。VBA基本的語(yǔ)句有:
(1)循環(huán)語(yǔ)句
例1:
aa=0
For j = 1 To 12
aa = aa+1 ‘累加
Next j
Cells(1,2)=aa
例2:
aa=0
Do
aa = aa + 1
Loop Until aa=12
Cells(1,3)=aa
(2)判斷語(yǔ)句
1If …… Then
……
End If
2If …… Then
……
Else
……
End If
3 If ……Then
……
ElseIf …… Then
……
Else:……
End If
2 結(jié)合課程內(nèi)容練習(xí)簡(jiǎn)單的編程
例如:計(jì)算出目前庫(kù)存量,并確認(rèn)是否需要訂貨。
(1)將下列語(yǔ)句寫(xiě)在“計(jì)算”按鈕中:
For j=2 to 11
Cells(j,7)= Cells(j,2)+ Cells(j,3)- Cells(j,4)
If Cells(j,7)< Cells(j,5)Then
Cells(j,8)= "要進(jìn)貨了!"
ElseIf Cells(j,7)> Cells(j,6)Then
Cells(j,8)= "不要進(jìn)貨!"
Else:Cells(j,8)= "正常!"
End If
Next j
運(yùn)行結(jié)果:
(2)在“凸輪軸”的下方再添加數(shù)據(jù):“燈泡,5,4,2,3,6”,然后點(diǎn)擊“計(jì)算”按鈕。得到的結(jié)果是什么?程序應(yīng)該如何修改呢?
在這個(gè)過(guò)程中學(xué)生能夠體會(huì)最大庫(kù)存量、最小庫(kù)存量以及安全庫(kù)存的概念。
3 布置大作業(yè),培養(yǎng)學(xué)生的創(chuàng)新能力
利用excel軟件平臺(tái),設(shè)計(jì)出一個(gè)小管理軟件。要求具有:入庫(kù)、出庫(kù)、庫(kù)存、查詢(xún)的功能。培養(yǎng)學(xué)生的創(chuàng)新能力。
學(xué)生結(jié)合《汽車(chē)配件管理》的知識(shí)把軟件的框架搭建起來(lái)。思路如下:在excel工作薄內(nèi)放置4張工作表,分別命名為:入庫(kù)、出庫(kù)、庫(kù)存、查詢(xún)。第一行當(dāng)作表頭,分別為:日期、代號(hào)、配件名稱(chēng)、單位、數(shù)量、單價(jià)、金額、類(lèi)型。
學(xué)生之間相互討論共同完成作業(yè)。有學(xué)生說(shuō):越學(xué)習(xí)越感到有樂(lè)趣,總會(huì)碰到疑難問(wèn)題,解決了一個(gè)又會(huì)有新的問(wèn)題產(chǎn)生。我鼓勵(lì)學(xué)生,要克服前進(jìn)中的困難奮勇前行。比如解決單元格中下拉菜單的問(wèn)題,自動(dòng)生成金額的問(wèn)題。
開(kāi)展課外輔導(dǎo),老師及時(shí)與學(xué)生進(jìn)行溝通,善于發(fā)現(xiàn)編程中的閃光點(diǎn)。在網(wǎng)上有很多有關(guān)VBA的知識(shí),學(xué)生可以進(jìn)一步地加以學(xué)習(xí)。在網(wǎng)上學(xué)生可以找到查找相關(guān)的代碼。有個(gè)別學(xué)生就是采用把excel表格當(dāng)數(shù)據(jù)庫(kù)來(lái)完成統(tǒng)計(jì)、查詢(xún)功能的。
為了降低難度,老師給學(xué)生提供參考的代碼。庫(kù)存統(tǒng)計(jì)的代碼如下:
Dim a(),b()As Integer
Do
mm1 = mm1 + 1
Loop Until Sheets(1).Cells(mm1,1)= ""
Do
mm2 = mm2 + 1
Loop Until Sheets(2).Cells(mm2,1)= ""
Do
mm3 = mm3 + 1
Loop Until Sheets(3).Cells(mm3,1)= ""
ReDim Preserve a(mm3),b(mm3)給動(dòng)態(tài)數(shù)組重定義一個(gè)實(shí)際的大小
For i = 1 To mm3
a(i)= 0
Next i
For i = 0 To mm3 - 1
b(i)= 0
Next i
For i3 = 2 To mm3 - 1
For i1 = 2 To mm1 - 1
If Sheets(1).Cells(i1,2).Value = Sheets(3).Cells(i3,1).Value Then
a(i3)= a(i3)+ Sheets(1).Cells(i1,5)
End If
Next i1
For i2 = 2 To mm2 - 1
If Sheets(2).Cells(i2,2).Value = Sheets(3).Cells(i3,1).Value Then
b(i3)= b(i3)+ Sheets(2).Cells(i2,5)
End If
Next i2
Sheets(3).Cells(i3,4).Value = a(i3)
Sheets(3).Cells(i3,5).Value = b(i3)
Sheets(3).Cells(i3,6).Value = Sheets(3).Cells(i3,2)+ a(i3)- b(i3)
If Sheets(3).Cells(i3,6)< 15 Then
Sheets(3).Cells(i3,7).Value = "要進(jìn)貨"
End If
Next i3
4 小結(jié)
“他山之石可以攻玉”。通過(guò)設(shè)計(jì)小程序,學(xué)生掌握了數(shù)據(jù)的輸入、統(tǒng)計(jì)、查詢(xún)的方法,有效地達(dá)成《汽車(chē)配件管理》的教學(xué)目標(biāo)。在這個(gè)過(guò)程中激發(fā)了學(xué)生學(xué)習(xí)的興趣,培養(yǎng)了學(xué)生的創(chuàng)新能力,解決問(wèn)題的能力;學(xué)生能享受成功的喜悅。
參考文獻(xiàn):
[1]林鳳《汽車(chē)配件管理與營(yíng)銷(xiāo)》重慶大學(xué)出版社 2011年1月
[2]魏汪洋《從零開(kāi)始學(xué)Excel VBA》電子工業(yè)出版社 2014 年10月