Вычесть одну ячейку из каждой другой ячейки в заданном диапазоне
Я пытаюсь помочь своей команде в сверке, определить, какие строки следует согласовать, а какие можно игнорировать. Например, у меня есть данные о 10 магазинах. Для каждого магазина есть столбец, в котором указана разница между кассовой книгой и банковской выпиской за указанный диапазон дат. (См. изображение ниже)
Шаг 1: Если разница составляет от -50 до +50, ее следует пометить как «игнорировать» (это довольно просто).
Шаг 2: Для каждого магазина одну ячейку необходимо сравнить с каждой другой ячейкой (принадлежащей тому же магазину), и если разница составляет от -50 до 50, ее можно игнорировать, в противном случае ее следует пометить как «подлежащую согласованию». . Аналогично, эти шаги необходимо выполнить для всех 10 магазинов.
Это то, что я пробовал до сих пор. В таблице Excel я указал номера строк для каждой строки на уровне магазина и попытался просмотреть этот диапазон для каждого магазина.
Sub loop_range()
Dim iCell As Range
Dim iCell1 As Range
Dim iRange1 As String
Dim iRange2 As String
Dim rangeName As String
Sheets("Test").Select
Dim lRow As Long
Dim lCol As Long
lRow = Cells.Find(What:="*", After:=Range("H1"), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
, SearchFormat:=False).Row
lCol = Cells.Find(What:="*", After:=Range("H1"), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False _
, SearchFormat:=False).Column
For Each iCell In Range("H1:H" & lRow).Cells
iRange1 = ActiveCell.Row
iRange2 = ActiveCell.Offset(0, 2).Value + iRange1 - 1
rangeName = "H" & iRange1 & ":H" & iRange2
'MsgBox "1st row = " & iRange1 & " last row = " & iRange2 & " range = " & rangeName
For Each iCell1 In Range(rangeName).Cells
ActiveCell.Offset(0, 3).Value = "=RC[-8]"
Next iCell1
Next iCell
End Sub
Пожалуйста, посоветуйте, как я могу это сделать в Excel VBA.