Я пытаюсь подсчитать количество строк, содержащих определенное значение. Существует три строки, и я вычисляю общее значение каждого из них и помещаю в переменную, чтобы позже в сценарии печати на экран. Я только подсчет строк в пределах определенного диапазона ячеек, который является первой частью коды - искать первое и последнее вхождение, так что я могу использовать их в качестве номеров строкподсчет количества строк с помощью vba
Dim mediumStartRow As Integer
Dim mediumEndRow As Integer
Dim majVarCount As Integer
Dim minVarCount As Integer
Dim onTrackCount As Integer
'Find the range of cells for Medium Projects, just gives the row number of the first occurnace and the last occurnace
mediumStartRow = Range("H:H").Find(what:="Medium Project", after:=Range("H21")).Row
mediumEndRow = Range("H:H").Find(what:="Medium Project", after:=Range("H21"), searchdirection:=xlPrevious).Row
MsgBox "First and Last Row for Medium Projects: " & mediumStartRow & mediumEndRow
majVarCount = 0
minVarCount = 0
onTrackCount = 0
With Range("AS:AU" & mediumStartRow)
If Value = "Major Variance" Then
majVarCount = Rows.Count
Else
If Value = "Minor Variance" Then
minVarCount = Rows.Count
Else
If Value = "On Track" Then
onTrackCount = Rows.Count
End If
End If
End If
Do Until Range("AS:AU" & mediumEndRow)
Loop
End With
MsgBox "Major Project Count: " & majVarCount
над ним кодом, который я до сих пор, но я, кажется, получаю ошибку Run-Time - метод «Range» из object'_Global»не удалось - на линии
With Range("AS:AU" & mediumStartRow)
Любые подсказки о том, как исправить
Вы не используете номер стартовой строки, и вы ищете диапазон AS: AU2000. Измените на 'With Range (« AS1: AU »и mediumStartRow)' –
@Scott Craner Я не могу использовать это, поскольку строки, в которые я хочу начать отсчет, всегда будут иметь другую первую строку каждый раз, когда я запускаю скрипт, поэтому я сделал немного скрипта, чтобы найти первое вхождение и последнее вхождение, т.е. mediumStartRow и mediumEndRow – user3088476