链接: https://www.bilibili.com/video/BV1L4411Q7Ni?p=4.
问题
文件中包含多个表格,数目不确定,每张表格是一个地区的考生成绩,请计算称呼和专业代号,删除成绩表中名字为空的数据,最后将每张表格拆分到一个excel文件中,文件名根据表名命名
需要处理的文件
待更新
未处理的文件图片
处理之后文件图片
VBA代码
Sub demo()
Dim i As Integer
Dim sht As Worksheet
For Each sht In Sheets
For i = 2 To 100
'判断某一行是否为空,为空则跳出循环
If sht.Range("a" & i) = "" Then
Exit For
End If
'根据专业类填写专业代号
If sht.Range("b" & i) = "理工" Then
sht.Range("c" & i) = "LG"
ElseIf sht.Range("b" & i) = "文科" Then
sht.Range("c" & i) = "WK"
Else
sht.Range("c" & i) = "CJ"
End If
'根据性别填写称呼
If sht.Range("e" & i) = "男" Then
sht.Range("f" & i) = "先生"
Else
sht.Range("f" & i) = "女士"
End If
'若名字为空,则删除整行
If sht.Range("d" & i) = "" Then
sht.Range("d" & i).EntireRow.Delete
i = i - 1
End If
Next
'将整个sheet复制到一个新的文件中
sht.Copy
ActiveWorkbook.SaveAs Filename:="C:\APASamples\data\data1\" & sht.Name & ".xlsx"
ActiveWorkbook.Close
Next
End Sub