当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Excel帮你填写报名信息卡

办公软件
简单合并word文档
Word中利用样式添加目录
Word公式编辑器的安装
Word XP巧画禁烟标志
“自动更正”巧输特殊字符
Word2000 中的层和矢量
Word2000制作滚动字幕墙纸
Word2002中保持字数限制
Word输入左右结构生僻字
Word中的域和公式
Word中方便快捷地插入图标
Word添加一个分数输入命令
Word打印预览模式下编辑文字
Word 2002自动提取文档目录
用Word设计试卷密封线
Word中随意插入独立页码
Word 2000格式处理技巧
Word ”出红”的挽救与预防
巧用Word XP中的双击
Word中图片保存另一法

办公软件 中的 Excel帮你填写报名信息卡


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 65 ::
收藏到网摘: n/a

    每一年的中、高考报名工作中,查找考生姓名、联系地址的区位码是一项必不可少的工作。查找这些汉字的区位码,通常都要对照一本小册子——《汉字区位码手册》进行查找,这不仅不方便,而且也容易出错。利用office/9.shtml' target='_blank' class='article'>Excel的宏解决了这一问题。

  1. 建立一Excel工作簿,选择sheel1工作表,将所有的考生姓名录入A列中。

  2. 打开“工具/宏”,输入所要创建的宏名(qw),点击〔创建〕。

  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

  '输入待查姓名人数

  rs = InputBox("待查询姓名区位码人数?", "请输入")

  str = ""

  hz2 = ""

  ss = ""

  For j = 1 To rs

  l = 0

  str = Cells(j, 1).Value

  '读取A列中第J行单元格内的姓名

  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

  '计算汉字所对应的区位码

  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

  '用"'"分开每一汉字的区位码

  If cc > 255 Then hz2 = hz2 + b1 + b2 + "'"

  Next k

  '在B列中输出A列中相应姓名的区位码

  Cells(j, 2) = hz2

  newstr = ""

  hz2 = ""

  Next j

  End Sub

  4. 在确认A列中已输入完所要查询的考生姓名后,就可以打开“工具/宏”,选择刚刚创建的宏名(qw)。点击〔执行〕,在弹出的对话框中输入想要查询的人数,点击〔确定〕按钮,所有的姓名都被自动转换了。