Вычесть одну ячейку из каждой другой ячейки в заданном диапазоне

Я пытаюсь помочь своей команде в сверке, определить, какие строки следует согласовать, а какие можно игнорировать. Например, у меня есть данные о 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.

0 ответов

Другие вопросы по тегам