遍历表将值添加到另一个

时间:2020-03-02 09:48:32

标签: excel vba loops

有一张表包含七个评分项(值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

1 个答案:

答案 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