Я работаю с макросом VB.По сути, я пытаюсь сделать так, чтобы макросы читали входные данные и сначала определяли, совпадает ли идентификационный номер ячейки с номером в строке.Пример: если строка 1 имеет идентификатор 1122 и все строки 2,3,4 и 5 совпадают, я хочу, чтобы макрос прочитал это и создал счетчик в ячейке NbrOfA.Как только он понимает, что нет совпадения идентификатора, он переходит к следующему идентификатору и ищет совпадения этого идентификатора и продолжает создавать счет.В то время как он делает это, мне также нужно, чтобы он читал из другого столбца, который имеет определенные строки, такие как «открытый», «закрытый» и т. Д.прочитайте этот ввод и создайте отдельную строку под названием NbrofOpenA.Как только у него заканчиваются данные, я хочу иметь единственную ячейку, которая показывает количество действий (NbrOfA), которые соответствуют номеру идентификатора, а также количество открытых действий (NbrOfOpenA).
В настоящее время я получаю сообщение об ошибке: «ошибка компиляции: sub или функция не определена» с выделением ячейки Set (Sheet2.Cells (FirstRowOfI, 23) = NbrOfA
, прикрепленной к приложенному листу Excelпоказывает, что 2 ячейки удалены. Они на самом деле не будут удалены, просто хотел дать представление о том, что я искал
Sub ACount()
Dim FirstRowofI
Dim NbrOfA as Integer
Dim NbrOfOpenA as Integer
Row = 2
Set FirstRowofI = (Sheet2.Cells.Range(Row, 14))
NbrOfA = 0
NbrOfOpenA = 0
If (Sheet2.Cells(Row, 14).Value <> "") Then
NbrOfA = 1
If (Sheet2.Cells(Row, 22) <> "Closed") Then
NbrOfOpenA = 1
Set Row = FirstRowofI
Row = Row + 1
Do While (Sheet2.Cells(Row, 14) = (Sheet2.Cells(FirstRowofI, 14)))
NbrOfOpenA = NbrOfOpenA + 1
If (Sheet2.Cells(Row, 22) <> "Closed" Then
NbrOfOpenA = NbrOfOpenA + 1
Range(Row).EntireRow.Delete
Return
End If
Set Cell(Sheet2.Cells(FirstRowofI, 23)) = NbrOfA
Set Cell(Sheet2.Cells(FirstRowofI, 24)) = NbrOfOpenA
Loop
End Sub
[ 1