教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 新中职学生系统新生录入行政区划码查错小助手

新中职学生系统新生录入行政区划码查错小助手

上传者:网友
|
翻新时间:2022-10-05

新中职学生系统新生录入行政区划码查错小助手

下面介绍这个小助手的两种制作方法(两种制作方法适合不同性质的学校使用,同时也适合不同阶段查错时使用)。

方法一:新建一个工作薄(使用2010版以下的电子表格),建立两个工作表:“检查”、“字典”。在“字典”工作表里,完成如下操作:

1.在第一、二行的“CD”列下方设置一个命令按钮(方法:点击“视图”菜单下“工具栏”中的“控件工具箱”,打开“控件工具箱”后,点击工具箱左边第一个 “设计模式”图标,再点击左数第六个“命令按钮”图标,在C列和D列下方拖曳鼠标画出“命令按钮”)。右击“命令按钮”选择“属性”,在“属性”窗口修改“Caption”右侧内容为“获取行政区划码”。

2.双击“获取行政区划码”命令按钮,在打开的代码窗口中,输入以下代码(加粗代码不用输入):

Private Sub CommandButton1_Click()

Dim m, n, i, j, rows_zdsj, rows_xssj, rows_a As Integer

Dim Msg_hk, name_str As String

Dim find_qh As Boolean

Msg_hk = "没有找到户籍所在地的人员有:" Chr(13)

Msg_hk = Msg_hk "行 姓名 身份证号码 " Chr(13)

Range("A3:J10000").Delete

MsgBox "选择含有字典的学生数据模板文件", vbInformation, "提醒"

Dim tmpFileName As String, FileNumber As Integer

Dim myWorkbook, heWorkBook As Workbook, tmpFileList, tmpFileIndex As Long

tmpFileList = Application.GetOpenFilename("Data File(*.xls),*.xls", , "选择文件", , MultiSelect:=False)

If VarType(tmpFileList) = vbBoolean Then

Exit Sub

Else

Application.ScreenUpdating = False

Application.StatusBar = "数据处理中,请稍等..."

Application.DisplayAlerts = False

Set myWorkbook = Workbooks(1)

Set heWorkBook = Workbooks.Open(tmpFileList, 0, vbReadOnly)

rows_zdsj = heWorkBook.Worksheets("字典").[A65536].End(xlUp).Row

rows_xssj = heWorkBook.Worksheets("学生基础信息").[A65536].End(xlUp).Row

heWorkBook.Worksheets("字典").Range("A1:A" rows_zdsj).Copy myWorkbook.Worksheets("字典").Range("A3")

heWorkBook.Worksheets("学生基础信息").Range("A3:E" rows_xssj).Copy myWorkbook.Worksheets("检查").Range("A3")

heWorkBook.Close

Columns("A:C").Select

Selection.NumberFormatLocal = "@"

Range("A3").Select

Columns("A:A").ColumnWidth = 48

Columns("B:B").ColumnWidth = 40

Columns("C:C").ColumnWidth = 13

Range("B3") = "行政区域名称" Range("C3") = "行政区划码"

Range("A3:C3").Interior.ColorIndex = 37

j = 4

name_str1 = ""

Do While j = [A65536].End(xlUp).Row

name_d = InStr(Range("A" j), "(")

name_str2 = Range("A" j)

Range("B" j) = Left(name_str2, name_d - 1)

name_str1 = Right(Range("A" j), 13)

j = j + 1

Loop

i = 37

name_str = ""

Do While i = Worksheets("字典").[A65536].End(xlUp).Row

If Right(Range("C" i), 10) = "0000000000" Then

name_str = Range("B" i)

Else

If Right(Range("C" i), 8) "00000000" Then

Range("B" i) = name_str Range("B" i)

End If

End If

i = i + 1

Loop

Range("A3").Select

Worksheets("检查").Activate

With Worksheets("检查")

.Range("F3") = "户口所在地"

.Range("A3:F3").Interior.ColorIndex = 35

.Columns("D:D").ColumnWidth = 12

.Columns("E:E").ColumnWidth = 30

.Columns("F:F").ColumnWidth = 40

rows_a = .[A65536].End(xlUp).Row

For m = 4 To rows_a

find_qh = False

n = 2

Do While Not (find_qh) And n = Worksheets("字典").[A65536].End(xlUp).Row

If Left(.Range("E" m), 6) "000000" = Worksheets("字典").Range("C" n) Then

find_qh = True

.Range("F" m) = Worksheets("字典").Range("B" n)

Else

n = n + 1

End If

If find_qh = True Then GoTo line1

Loop

If Not (find_qh) Then

Msg_hk = Msg_hk m " " .Range("A" m) " " .Range("E" m) Chr(13)

.Range("A" m ":E" m).Interior.ColorIndex = 33

End If

line1:

Next m

End With

MsgBox Msg_hk

End If

Application.StatusBar = False

Application.DisplayAlerts = True

End Sub

点击工具箱第一个“退出设计模式”图标。完成“字典”的代码录制。

3. 点击“获取行政区划码”命令按钮,即可一键完成行政区划码的检查与户口所在地信息的录入(前提是学生的姓名、身份证号信息已全部录入,并已点击“批量自动生成”按钮生成行政区划码)。

执行结果说明:如果姓名等字段以蓝色背景显示,同时“户口所在地”为空,说明该生自动生成的行政区划码是错误的。可根据该生学籍档案信息录入“户口所在地”,最后把全部的户口所在地信息重新复制到数据模板中,同时到“字典”中查询错误信息对应的正确行政区划码进行数据模板中区划码的修改。

此方法适合录入身份证信息后使用(尤其适合县级校或初次录入基本信息时使用)。因为它不仅可以检查出错误的行政区划码,还可以减少我们录入户口所在地时的文本信息录入量。

方法二:新建一个工作薄(使用2010版以下的电子表格),建立两个工作表:“检查”、“字典”

一、“字典”工作表的建立

Private Sub CommandButton1_Click()

Dim i, j, rows_zdsj, rows_xssj, rows_a As Integer

Dim find_qh As Boolean

MsgBox "选择含有字典的学生数据模板文件", vbInformation, "提醒"

Dim tmpFileName As String, FileNumber As Integer, c As Range

Dim myWorkbook, heWorkBook As Workbook, tmpFileList, tmpFileIndex As Long

tmpFileList = Application.GetOpenFilename("Data File(*.xls),*.xls", , "选择文件", , MultiSelect:=False)

If VarType(tmpFileList) = vbBoolean Then

Exit Sub

Else

Application.ScreenUpdating = False

Application.StatusBar = "数据处理中,请稍等..."

Application.DisplayAlerts = False

Set myWorkbook = Workbooks(1)

Set heWorkBook = Workbooks.Open(tmpFileList, 0, vbReadOnly)

rows_zdsj = heWorkBook.Worksheets("字典").[A65536].End(xlUp).Row

heWorkBook.Worksheets("字典").Range("A1:A" rows_zdsj).Copy myWorkbook.Worksheets("字典").Range("A3")

heWorkBook.Close

Columns("A:C").Select

Selection.NumberFormatLocal = "@"

Range("A3").Select

Columns("A:A").ColumnWidth = 48

Columns("B:B").ColumnWidth = 40

Columns("C:C").ColumnWidth = 13

Range("B3") = "行政区域名称"

Range("C3") = "行政区划码"

Range("A3:C3").Interior.ColorIndex = 37

j = 4

name_str1 = ""

Do While j = [A65536].End(xlUp).Row

name_d = InStr(Range("A" j), "(")

name_str2 = Range("A" j)

Range("B" j) = Left(name_str2, name_d - 1)

name_str1 = Right(Range("A" j), 13)

j = j + 1

Loop

i = 37

name_str = ""

Do While i = Worksheets("字典").[A65536].End(xlUp).Row

If Right(Range("C" i), 10) = "0000000000" Then

name_str = Range("B" i)

Else

If Right(Range("C" i), 8) "00000000" Then

Range("B" i) = name_str Range("B" i)

End If

End If

i = i + 1

Loop

Range("A3").Select

End If

Application.StatusBar = False

Application.DisplayAlerts = True

End Sub

点击工具箱第一个“退出设计模式”图标。完成“字典”的代码录制。

3. 点击“获取行政区划码”命令按钮,在“字典”工作表中创建行政区划码查询信息(此命令执行一次即可)。

二、“检查”工作表的建立

Dim m, n, rows_adsj, rows_xssj, rows_a As Integer

Dim find_qh As Boolean

Range("A3:J10000").Delete

MsgBox "选择已录完信息的学生数据模板文件", vbInformation, "提醒"

Dim tmpFileName As String, FileNumber As Integer, c As Range

Dim myWorkbook, heWorkBook As Workbook, tmpFileList, tmpFileIndex As Long

tmpFileList = Application.GetOpenFilename("Data File(*.xls),*.xls", , "选择文件", , MultiSelect:=False)

If VarType(tmpFileList) = vbBoolean Then

Exit Sub

Else

Application.ScreenUpdating = False

Application.StatusBar = "数据处理中,请稍等..."

Application.DisplayAlerts = False

Set myWorkbook = Workbooks(1)

Set heWorkBook = Workbooks.Open(tmpFileList, 0, vbReadOnly)

rows_xssj = heWorkBook.Worksheets("学生基础信息").[A65536].End(xlUp).Row

heWorkBook.Worksheets("学生基础信息").Range("A3:E" rows_xssj).Copy myWorkbook.Worksheets("检查").Range("A3")

heWorkBook.Worksheets("学生基础信息").Range("R3:R" rows_xssj).Copy myWorkbook.Worksheets("检查").Range("F3")

heWorkBook.Close

Range("A3").Select

Worksheets("检查").Activate

With Worksheets("检查")

.Range("F3") = "行政区划码 "

.Range("A3:F3").Interior.ColorIndex = 35

.Columns("D:D").ColumnWidth = 12

.Columns("E:E").ColumnWidth = 30

.Columns("F:F").ColumnWidth = 30

rows_a = .[A65536].End(xlUp).Row

For m = 4 To rows_a

find_qh = False

n = 2

Do While Not (find_qh) And n = Worksheets("字典").[A65536].End(xlUp).Row

If Range("F" m) = Worksheets("字典").Range("C" n) Then

find_qh = True

Else

n = n + 1

End If

If find_qh=True Then Goto line1

Loop

If Not (find_qh) Then

Range("G" m) = "错误"

End If

Line1:

Next m

End With

End If

Application.StatusBar = False

Application.DisplayAlerts = True

End Sub

点击工具箱第一个“退出设计模式”图标。完成“检查”的代码录制。

3. 点击“开始检查”命令按钮,选择数据模板文件(该模板中已录完新生身份证信息),即可检查出错误的行政区划码,对出现“错误”的行政区划码进行修改后即可上传。

4. 多次点击“开始检查”命令按钮,即可完成对多个新生模板信息的区划码检查。

执行结果说明:错误的行政区划码以蓝色背景显示其姓名等信息,同时“行政区划码”字段后方显示“错误”两字。

此方法尤其适合省(地市州)校对所属各县市校上报的数据进行二次检查使用,当然它也适合录完信息后对行政区划码的第二次查错使用。

两种查错方法的区别:方法一是根据身份证号来检查区划码的错误,方法二是对已录入的区划码来检查错误。各位老师可根据自己的需要来选择使用哪种方法查错。建议实际使用时,在录入新生的姓名和身份证号后,可用方法一来检查区划码的错误与户口所在地的输入。在录完全部信息后,用方法二再次重查一下是否有错误的区划码。两次查过后,相信不会再有错误的区划码。

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!