程闊華

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