适用场景:你有一张Excel表,其中录入了题库,你需要在这张表中练习答题并需要计算准确率。
Private Sub Worksheet_Change(ByVal Target As Range)
'这是填答案列的列号
row1 = 3
'这是答题次数列的列号
row2 = 20
'这是答题正确次数列的列号
row3 = 19
'这是正确答案列的列号
row4 = 5
'MsgBox Target.Address
For Each cell In Target
'判断是否是答案列
If cell.Column = row1 Then
'是答案列
'新答案是不是一个空值
If cell.Value = "" Then
'是,什么都不做
Else
'不是,累计答题次数
Cells(cell.Row, row2) = Cells(cell.Row, row2) + 1
'答题是否正确,累计正确答题次数
If Cells(cell.Row, row1) = Cells(cell.Row, row4) Then
Cells(cell.Row, row3) = Cells(cell.Row, row3) + 1
End If
End If
Else
'不是答案列,什么都不做
End If
Next
End Sub