如果满足两个条件,VBA 如何更改可见单元格中的值

问题描述 投票:0回答:2

如果每个学生通过了两个标准,我需要更改他们的水平。我希望更改级别列内的值,但如果不可能,也许将更改放在该列旁边仍然可以接受。

NIP 姓名 数学成绩 英语成绩 级别
1234 阿丽亚娜 75 75 1级
1235 布莱恩 80 85 2级
1236 查理 75 3级

标准 1 = 数学成绩;标准 2 = 英语成绩

如果两个标准单元格都填满了值(无论分数是多少),那么学生将晋升到下一个级别。

示例 Ariana 将达到 2 级,Brian 将达到 3 级

查理的“D”栏不会发生变化,因为不满足标准 1 和 2。

excel vba excel-2010
2个回答
1
投票

假设您的表格位于 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 事件来启动代码。


0
投票

这有点暴力,但很有效。

© www.soinside.com 2019 - 2024. All rights reserved.