L oop через таблицу добавление значений в другую - PullRequest
0 голосов
/ 02 марта 2020

Имея одну таблицу с семью набранными баллами (значения от 1 до 6) и другую для суммирования этих значений (подсчитывая, сколько разных оценок имеет каждый элемент), я соединяю их, но не могу написать правильное l oop. Мой код просто добавляет +1 к каждой ячейке для каждого l oop (7 раз).

Таблица результатов называется «alumne», а значения указаны в столбце 2. Таблица результатов называется «avaluacio»

Можете ли вы мне помочь? Большое спасибо

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 голосов
/ 03 марта 2020

Это было проще, чем я думал !! Я не указывал значения на нужные ячейки, и нужна была только одна переменная!

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...