我学VBA:快速合并不同学员不同科目的成绩


期末考试结束后,需要对班级学生的成绩向家长做一个汇报。其格式如下:

尊敬的家长:***本学期成绩汇报如下,祝新年快乐! ERP应用与管理:优秀 Office高级应用:优秀 出纳业务实训:优秀 高级财务会计:95 工业企业会计核算:优秀 管理会计:94 国际贸易实务:良好 会计分岗位实训:优秀 会计综合实训:良好 就业指导:中等 审计:99 统计学原理:良好 中级财务管理:优秀

 面对EXCEL表,可编写VBA代码如下,实现科目与成绩自动组合。

Sub 成绩汇总表()
Dim N As Integer '声明变量
N = Range("A1").End(xlDown).Row '行数

Dim N2 As Integer '声明变量
N2 = Range("A1").End(xlToRight).Column '列数

Dim W As String
For N3 = 2 To N Step 1
    For N4 = 3 To N2 Step 1
        If Cells(N3, N4) <> "" Then
        W = W & " " & Cells(1, N4) & ":" & Cells(N3, N4)
        End If
    Next
Cells(N3, 30) = "尊敬的家长:" & Cells(N3, 2) & "本学期成绩汇报如下,祝新年快乐!" & W
W = ""
Next
'获取当前文件名称
Dim P As String
P = ActiveWorkbook.Name
Cells(1, 30) = P

'教学案例:快速合并不同学员不同科目的成绩.xls

End Sub

String 数据类型
包含一连串字符的数据类型。字符串可以包括字母、数字、空白和标点符号。在 Visual Basic 中可用符号 ($) 的类型声明字符来表示一字符串。