- 相關(guān)推薦
Excel幫你填寫報(bào)名信息卡
【簡(jiǎn) 介】
每一年的中、高考報(bào)名工作中,查找考生姓名、聯(lián)系地址的區(qū)位碼是一項(xiàng)必不可少的工作。查找這些漢字的區(qū)位碼,通常都要對(duì)照一本小冊(cè)子——《漢字區(qū)位碼手冊(cè)》進(jìn)行查找,這不僅不方便,而且也容易出錯(cuò)。利用Excel的宏解決了這一問題。
每一年的中、高考報(bào)名工作中,查找考生姓名、聯(lián)系地址的區(qū)位碼是一項(xiàng)必不可少的工作。查找這些漢字的區(qū)位碼,通常都要對(duì)照一本小冊(cè)子——《漢字區(qū)位碼手冊(cè)》進(jìn)行查找,這不僅不方便,而且也容易出錯(cuò)。利用office/9.shtml' target='_blank' class='article'>Excel的宏解決了這一問題。
1. 建立一Excel工作簿,選擇sheel1工作表,將所有的考生姓名錄入A列中。
2. 打開“工具/宏”,輸入所要?jiǎng)?chuàng)建的宏名(qw),點(diǎn)擊〔創(chuàng)建〕。
3. 在彈出的模塊(代碼)框中錄入如下代碼:
Sub qw()
Dim i, j, k, l, rs As Integer
Dim cc As Long
Dim str, newstr, hz1, hz2, ss As String
i = 0
k = 1
j = 0
'輸入待查姓名人數(shù)
rs = InputBox("待查詢姓名區(qū)位碼人數(shù)?", "請(qǐng)輸入")
str = ""
hz2 = ""
ss = ""
For j = 1 To rs
l = 0
str = Cells(j, 1).Value
'讀取A列中第J行單元格內(nèi)的姓名
For i = 1 To Len(str)
newstr = newstr + Mid(str, i, 1)
If Right(Mid(str, i, 1), 1) = " " Then l = l + 1
Next i
'過濾掉姓名中的空格
If ((l > 0) And (Right(newstr, 1) <> " ")) Then hz1 = MidB(newstr, 1, 2) + Right(newstr, 2)
If ((l > 0) And (Right(newstr, 1) = " ")) Then hz1 = newstr
If l = 0 Then hz1 = newstr
If Len(hz1) < 1 Then End
'計(jì)算漢字所對(duì)應(yīng)的區(qū)位碼
For k = 1 To Len(hz1) + 2 Step 2
ss = MidB(hz1, k, 2)
cc = Asc(ss)
If cc < 0 Then
cc = cc + 65535 + 1
If cc > 255 Then
b2 = Right("0" && ((cc And 255) - 160), 2)
b1 = Right("0" && (Int(cc / 256) - 160), 2)
End If
End If
'用"'"分開每一漢字的區(qū)位碼
If cc > 255 Then hz2 = hz2 + b1 + b2 + "'"
Next k
'在B列中輸出A列中相應(yīng)姓名的區(qū)位碼
Cells(j, 2) = hz2
newstr = ""
hz2 = ""
Next j
End Sub
4. 在確認(rèn)A列中已輸入完所要查詢的考生姓名后,就可以打開“工具/宏”,選擇剛剛創(chuàng)建的宏名(qw)。點(diǎn)擊〔執(zhí)行〕,在彈出的對(duì)話框中輸入想要查詢的人數(shù),點(diǎn)擊〔確定〕按鈕,所有的姓名都被自動(dòng)轉(zhuǎn)換了。
【Excel幫你填寫報(bào)名信息卡】相關(guān)文章:
解決Excel求和產(chǎn)生的誤差07-31
Excel打印故障問答錦囊07-31
構(gòu)造Excel動(dòng)態(tài)圖表07-31
幫你擺脫職場(chǎng)暗算07-31
四招打造Excel函數(shù)高手07-31
巧用Excel幫助你查郵編07-31
Excel快速錄入小數(shù)技巧07-31
招聘故事:讓顧客幫你來面試08-09
會(huì)說話,幫你少奮斗30年08-13