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