Я пытаюсь по сути иметь цикл, который подсчитывает определенные критерии для меня.В конце моего кода я хочу сделать так, чтобы все, что не учитывалось, по сути называлось «DRSNR».Я знаю, что мог бы использовать простую формулу в своем файле, чтобы она работала, но я предпочел бы иметь формулу в своем коде VBA, чтобы она стала фиктивной, и никто не стер ее по ошибке, поскольку я не буду единственным пользователем.
Теперь по какой-то причине мой код не работает в этом месте:
drsnr = lastrow - sac - count
По какой-то причине я всегда получаю счет 0
, несмотря ни на что.Есть идеи?Сначала я подумал, что мой lastrow
не был приписан как целое число, поэтому я добавил Dim lastrow as integer
, но это тоже не сработало.
Sub DeleteSAC()
Dim count As Integer
Dim sac As Integer
Dim drsnr As Integer
Dim i As Integer
Dim j As Integer
Dim lastrow As Integer
Sheets(1).Select
lastrow = ActiveSheet.Cells(Rows.count, "B").End(xlUp).Row
'have to keep data in a table for this to actually work as it ctrls+left to the table, which will end where the very last text of any row is
lastColumn = ActiveSheet.Cells(1, Columns.count).End(xlToLeft).Column
count = Sheet2.Cells(1, 7).Value
sac = 0
i = 2
j = lastColumn
For i = 2 To lastrow
For j = lastColumn To 1 Step -1
If Sheet1.Cells(i, j) = "SAC" Or Sheet1.Cells(i, j) = "Incorrect address" Then
count = count - 1
sac = sac + 1
GoTo NextIteration
End If
Next j
NextIteration:
Next i
Sheet2.Cells(1, 7) = count
Sheet2.Cells(1, 10) = sac
Sheet2.Cells(1, 13) = drsnr
drsnr = lastrow - sac - count
Sheets(2).Select
End Sub