如果每个学生通过了两个标准,我需要更改他们的水平。我希望更改级别列内的值,但如果不可能,也许将更改放在该列旁边仍然可以接受。
NIP | 姓名 | 数学成绩 | 英语成绩 | 级别 |
---|---|---|---|---|
1234 | 阿丽亚娜 | 75 | 75 | 1级 |
1235 | 布莱恩 | 80 | 85 | 2级 |
1236 | 查理 | 75 | 3级 |
标准 1 = 数学成绩;标准 2 = 英语成绩
如果两个标准单元格都填满了值(无论分数是多少),那么学生将晋升到下一个级别。
示例 Ariana 将达到 2 级,Brian 将达到 3 级
查理的“D”栏不会发生变化,因为不满足标准 1 和 2。
假设您的表格位于 A1 的工作表 1 范围内:
Option Explicit
Sub update()
Dim arr, r As Long, arr2() As String
arr = Sheet1.Range("A1").CurrentRegion
For r = 2 To UBound(arr)
If Not IsEmpty(arr(r, 3)) And Not IsEmpty(arr(r, 4)) Then
arr2 = Split(arr(r, 5), " ", -1, vbTextCompare)
arr(r, 5) = arr2(0) & " " & arr2(1) + 1
End If
Next r
Sheet1.Range("A1").CurrentRegion = arr
End Sub
您可以添加按钮或添加 onsheetchange 事件来启动代码。