有一张表包含七个评分项(值1至6),另一张表用于汇总此值(计算每个项有多少不同分数),我将它们连接起来,但无法编写正确的循环。我的代码只为每个循环的每个单元格添加+1(7次)。
得分表称为“ alumne”,值位于第2列 汇总表称为“评价”
你能帮我吗?非常感谢
For a = 1 To 7
For b = 2 To 2
For c = 1 To 7
For d = 2 To 6
Select Case sheet.ListObjects(alumne).DataBodyRange(a, b).Value
Case 1
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case 2
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case 3
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case 4
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case 5
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case 6
ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(c, d).Value + 1
Case Else
End Select
Next
Next
Next
Next
答案 0 :(得分:0)
比我想象的要简单!! 我没有将值指向正确的单元格,只需要一个变量!
Dim a As Integer
For a = 1 To 7
Select Case sheet.ListObjects(alumne).DataBodyRange(a, 2).Value
Case 1
ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 2).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 2).Value + 1
Case 2
ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 3).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 3).Value + 1
Case 3
ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 4).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 4).Value + 1
Case 4
ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 5).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 5).Value + 1
Case 5
ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 6).Value = ActiveSheet.ListObjects(avaluacio).DataBodyRange(a, 6).Value + 1
Case Else
End Select
Next