摘 要:文章通過(guò)對(duì)Excel VBA的設(shè)計(jì)實(shí)現(xiàn)在工作表中輸入單詞,利用單元格按行比較的功能,比較輸入單詞的正確性并做出判讀,掌握自動(dòng)判斷單元格的步驟。對(duì)Excel中某些非常規(guī)用法但是實(shí)用的功能進(jìn)行一個(gè)延伸,為將來(lái)對(duì)系統(tǒng)進(jìn)行擴(kuò)展打下堅(jiān)實(shí)的基礎(chǔ),為拓展Excel的使用范圍起一個(gè)引導(dǎo)作用。
關(guān)鍵詞:Excel;VBA;數(shù)據(jù)庫(kù)
1 概述
Excel VBA可以實(shí)現(xiàn)在工作表中輸入單詞后,比較兩個(gè)單元格中的字符串是否完全相同。如果完全相同,則返回正確的信息,如果錯(cuò)誤,則返回錯(cuò)誤的信息[1]。這個(gè)功能的實(shí)現(xiàn)中應(yīng)用到了單元格按行比較的方法,回退修改數(shù)據(jù)的方法,隱藏?cái)?shù)據(jù)的簡(jiǎn)便方法,自動(dòng)判斷單元格的方法。通過(guò)這種比較,可以知道對(duì)單詞的掌程度,以達(dá)到學(xué)習(xí)的目的。
2 具體操作
步驟1、新建一個(gè)Excel工作簿,在工作表的A列中鍵入需要記憶的單詞,在B列中鍵入該單詞的詞義。
步驟2、單擊主菜單上的“工具Excel>宏>Visual Basic編輯器”選頊,再單擊“Visual Basic編輯器”主菜單上的“視圖>代碼窗口”選項(xiàng)[2]。在打開(kāi)的“代碼窗口”中選擇Worksheet對(duì)象的Change方法過(guò)程,編輯其響應(yīng)代碼如下所示:
Option Explict
Dim AlterFlag As Boolean
Private Sub Worksheet_Change(ByVal Target As Rang)
If (Target.Column =3 And (Not AlterFlag) ) Then
If Target.Value = Cells(Target.Row, 1).Value Then
Cells(Target.Row, 4).Value =“True”
Cells(Target.Row, 4).Font.ColorIndex =3
Else
Cells(Target.Row, 4).Value =“False”
Cells(Target.Row, 4).Font.ColorIndex =1
End If
這里設(shè)置一個(gè)布爾變量為了避免在全部重新設(shè)置單元格的時(shí)候激活工作表被更改的代碼[3]。在C列中輸入背誦的單詞后按下enter鍵即可看到系統(tǒng)為用戶(hù)默寫(xiě)的自動(dòng)評(píng)定,正確為T(mén)rue而錯(cuò)誤為False。
步驟3、在工作表上新建一個(gè)“按鈕”控件并更名為“放棄”。在“設(shè)計(jì)模式”下雙擊該按鈕進(jìn)入“Visual Basic編輯器”,編輯該按鈕的單擊響應(yīng)代碼如下所示:
Private Sub CommandButton1_Click()
Cells(ActiveCell.Row, 1).Font.ColorIndex = 5
End Sub
步驟4、在工作表上新建一個(gè)“按鈕”控件并更名為“重新來(lái)一次”。在“設(shè)計(jì)模式”下雙擊該按鈕進(jìn)入“Visual Basic編輯器”,編輯該按鈕的單擊響應(yīng)代碼如下所示:
Private Sub CommandButton2_Click()
AlterFlag = True
Dim TempInt As Integer
For TempInt = 3 To 100 Step 1
Cells(TempInt, 1).Font.ColorIndex = 2
Cells(TempInt, 3).Value = “”
Cells(TempInt, 4).Value = “”
Cells(TempInt, 4).Font.ColorIndex = 2
Next TempInt
AlterFlag = False
End Sub
在對(duì)單詞進(jìn)行練習(xí)后,單擊“重新來(lái)一次”按鈕即可讓工作表恢復(fù)到初始練習(xí)的狀態(tài)。效果圖如圖1所示。
3 結(jié)束語(yǔ)
文章所介紹的程序還可以檢查每次輸入單詞的正確率并記錄,最后制定一個(gè)學(xué)習(xí)計(jì)劃。在每一次“重新來(lái)一次”按鈕的時(shí)候就可以認(rèn)為完成了一次學(xué)習(xí),可以檢查所有的D列單元格,記錄單元格中True和False的個(gè)數(shù)。新建一個(gè)工作表將這些數(shù)據(jù)統(tǒng)計(jì)起來(lái)。可以繪制一條折線圖來(lái)反映用戶(hù)的學(xué)習(xí)進(jìn)度。對(duì)正確單詞也可不必一個(gè)個(gè)的手工錄入,可以找到一個(gè)記錄單詞的數(shù)據(jù)庫(kù)將其導(dǎo)入進(jìn)工作表即可[4]。還可以對(duì)工作表添加聲音等多媒體控件以加強(qiáng)背誦的印象。
參考文獻(xiàn)
[1]王建華.Excel 2010 VBA在職工退休審批管理中的應(yīng)用[J].電腦編程技巧與維護(hù),2015(6):60-61.
[2]孫敬杰.Excel入門(mén)與實(shí)例演練[M].北京:中國(guó)青年電子出版社, 2008.
[3]蔣勇.基于Excel VBA的計(jì)算機(jī)理論知識(shí)考試系統(tǒng)設(shè)計(jì)[J].信息與電腦:理論版,2010(3):69-71.
[4]魏汪洋.Excel VBA語(yǔ)法速查手冊(cè)[M].北京:化學(xué)工業(yè)出版社,
2011.
作者簡(jiǎn)介:鄭賓(1978-),男,漢族,陜西渭南人,學(xué)士,講師,研究方向?yàn)殡娮有畔⒓夹g(shù)。