• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Excel中快速錄入數(shù)據(jù)

      2013-12-31 00:00:00劉金鳳
      網(wǎng)友世界 2013年13期

      【摘 要】在EXCEL中如何修改VBA代碼,來達(dá)到快速錄入數(shù)據(jù)的目的。

      【關(guān)鍵詞】數(shù)據(jù)錄入;代碼;單元格;change事件

      每一個學(xué)期初和學(xué)期末,都有許多數(shù)據(jù)需要采集和上報,這此數(shù)據(jù)在錄入過程中不僅耗費了大量的時間,還很容易出錯,如圖1所示的學(xué)生情況信息表,在通常情況下,我們會逐條錄入這些數(shù)據(jù)的,也有的同志會通過自定義單元格格式等技巧來提高自己的錄入效率,但我想看過本人為您介紹的錄入技巧后,您一定會大有收獲。

      圖1 學(xué)生情況信息表

      一、案例分析

      不難發(fā)現(xiàn)在“編號”字段中(第一列),每位學(xué)生的編號前四位是相同的,即“2012”,所不同的是后面的班級和學(xué)號不同,如果我們在輸入過程中前四位可以自動添加進(jìn)去,那就方便多了。

      對于學(xué)生姓名沒有規(guī)律性,所以“姓名”列(第二列)中內(nèi)容只能是一個一個錄入了,沒有辦法“偷懶”。

      在出生年月一列(第三列)中,如果我們只輸入數(shù)字,就能顯示年月日那樣就會省事多了,如我輸入“19941008”,按回車鍵后,系統(tǒng)就顯是“1994年10月8日”。

      在性別列(第四列)中,只有“男”或“女”的填充可能,如果我們能夠按數(shù)字鍵1就顯示“男”,按數(shù)字鍵2就顯示“女”,那不是“太美”了嘛。

      在“畢業(yè)學(xué)?!币涣兄校ǖ谖辶校┲?,因為我們的學(xué)生來源只有五所中學(xué),所以如果能做成下拉列表形式,我們只要在里面選擇一下就可以了。

      至于最后列“政治面貌”列,只有兩種可能,即團員和非團員。所以做成性別列,類似就可以了。

      二、實現(xiàn)方法

      通過對上述分析,我們不難發(fā)現(xiàn),數(shù)據(jù)中的1、3、4、6列中的數(shù)據(jù)都要是用戶輸入后由系統(tǒng)自動進(jìn)行轉(zhuǎn)換的,我們可以通過表對象中的Change事件編程來實現(xiàn)。數(shù)據(jù)的第5列是通過選中某個單元格對象再進(jìn)行選擇操作的,只需對工作表的SelectionChange來編寫代碼,操作步驟如下:按Alt+F11組合鍵打開VBA編輯器,雙擊窗口左側(cè)的Sheet1對象,在其右側(cè)的代碼窗口中對工作表對象的Change事件和SelectionChange事件分別編寫VBA代碼。

      Private Sub Worksheet_Change(ByVal

      Target As Range)

      On Error GoTo Error

      ‘設(shè)置陷阱

      Select Case Target.Column

      Case 1

      Target.NumberFormatLocal=\"\"\"2012\"

      \"0000\"

      ‘第一列自動套用格式在單元格數(shù)字前加2012

      Case 3

      Target.NumberFormatLocal=”0000””

      年””00””月””00””日”””

      ‘第3列將輸入的8位數(shù)更改為年月日格式

      Case 4

      If Target.Value=1 Then

      Target.Value=”男”

      Else

      If Target.Value=2 Then

      Target.Value=”女”

      End If

      End If

      ‘第4列輸入1即顯示為男,輸入2顯示為女

      Case 6

      If Target.Value=3 Then

      Target.Value=”團員”

      Else

      If Target.Value=4 Then

      Target.Value=”非團員”

      End If

      End If

      ‘第6列輸入3即顯示為團員,輸入4顯示為非團員

      End Select

      ‘出現(xiàn)錯誤時退出程序

      Error:

      Exit Sub

      End Sub

      在Change事件中,主要是通過Select case/end select分支結(jié)構(gòu)判斷用戶在哪一列中輸入數(shù)據(jù),在EXCEL中的A列為1,B列為2,以此類推,然后再轉(zhuǎn)換為相應(yīng)的分支結(jié)構(gòu)語句中去執(zhí)行相應(yīng)的代碼,完成后退出整個分支結(jié)構(gòu)。

      第五列即畢業(yè)學(xué)校列,我們通過下拉菜單來實現(xiàn):

      Private Sub worksheet_selectionchange(ByVal target As Range)

      On Error GoTo Error

      If target.Column=5 Then

      Application.SendKeys\"%{down}\"

      ‘自動打開下拉菜單,設(shè)置第五列的數(shù)據(jù)有效性為序列填充

      target.Validation.Add Type:=xlValidateList,F(xiàn)ormula1:=\"市一中,市二中,省實驗中學(xué),市三中\(zhòng)"

      End if

      Error:

      Exit sub’

      End sub

      在Selectionchange事件中,首先通過判斷語句判斷當(dāng)前選中是否為第三者列,即畢業(yè)學(xué)校列,如果是則自動打開下拉菜單,同時顯示所選項目的列表,否則退當(dāng)觸發(fā)的事件。

      以上事件在執(zhí)行過程中如果出錯則自動轉(zhuǎn)到子程序error,退出當(dāng)前的事件的執(zhí)行。

      三、數(shù)據(jù)錄入測試

      為了方便測試,建議大家將“按回車鍵后插入點的移動方向”改為“向右”,(單擊工具菜單中的編輯選項卡進(jìn)行設(shè)置)這樣會更加符合我們平時的錄入表格的習(xí)慣。

      在“編號”列中輸入學(xué)生編號的后四位按回車鍵,系統(tǒng)將會自動添加前四位2012。

      在“出生年月日”列中直接輸入8位數(shù)回車后,系統(tǒng)會自動在前四位后加“年”,中間兩位后加“月”,最后加上“日”。

      在“性別”列中,按數(shù)字鍵1,則顯示為“男”,按數(shù)字鍵2,則顯示為“女”。同樣政治面貌一列中,按數(shù)字鍵3,顯示為“團員”,按數(shù)字鍵4,顯示為“非團員”。

      在“畢業(yè)學(xué)校”一列中,中需單擊單元格中的任一位置就可以看到自動彈出的下拉菜單,然后就可以從列表中選擇相應(yīng)的畢業(yè)學(xué)校。(不需要單擊單元格右側(cè)的下拉箭頭按鈕)

      經(jīng)過這樣設(shè)計的表格,即使是初學(xué)Excel的朋友也會得心就手。如果要幾個人協(xié)同輸入一大批數(shù)據(jù),不僅會做到格式上的高度統(tǒng)一,而且會節(jié)約很多的時間,同時又成倍的提高了工作效率,何樂而不會呢?在實際運用的過程中,大家可以根據(jù)自己的修改代碼中相應(yīng)的屬性。需要注意的是,代碼一旦編寫完成后如果要添加或刪除,請及時對代碼中的列號進(jìn)行相應(yīng)的調(diào)整。

      作者簡介:劉金鳳(1968—),女,延邊大學(xué)經(jīng)濟管理專業(yè)畢業(yè),高級講師,現(xiàn)供職于延邊職業(yè)技術(shù)學(xué)院計算機系。

      宝兴县| 隆昌县| 万山特区| 修水县| 信丰县| 忻州市| 高陵县| 常熟市| 江安县| 望都县| 苍梧县| 弥渡县| 外汇| 东阳市| 龙山县| 资中县| 苍山县| 招远市| 长宁县| 永嘉县| 广水市| 鹰潭市| 宁强县| 和硕县| 临泉县| 铅山县| 成武县| 宁国市| 惠安县| 开化县| 当涂县| 邹城市| 山东省| 邵武市| 福清市| 阿拉善右旗| 黑山县| 买车| 武隆县| 利津县| 四子王旗|