Я пытаюсь использовать смещение в Excel VBA, чтобы определить, имеют ли 2 ячейки одинаковое значение. Сценарий отклоняет смещение, говоря «Sub или Function notfined»
Я много раз искал по нескольким форумам, но безуспешно
Dim b As Integer
Dim detail As String
Dim wbk As Workbook
Dim ws As Worksheet
Set wbk = Workbooks("Commission Statements.xlsm")
With Workbooks("Commission Statements.xlsm").Sheets("Required Data")
b = 2
Do Until IsEmpty(.Cells(b, 1))
'If A2 = A1 AND B2 = B1
'Copy cells in columns D:M
'Go to Worksheet named in column A
'Paste
If ActiveCell.Value = ActiveCell(Offset(-1)).Value And ActiveCell(Offset(0, 1)).Value = ActiveCell(Offset(-1, 1)).Value Then
.Range(Cells(b, 4), .Cells(b, 13)).Copy
detail = .Cells(b, 1).Value
Sheets(detail).Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
End If
'If A2 = A1 BUT B2 > B1
'Go to Worksheet named in Column A
'Copy cells B8:K9
'Go to bottom line of data in column K
'Paste
'Return to Active Cell in "Required Data" Worksheet
'Copy cells in columns D:M
'Go to Worksheet named in column A
'Locate last row of data in column K and offset 1 row
'Paste
ElseIf ActiveCell.Value = ActiveCell(Offset(-1)).Value And ActiveCell(Offset(0, 1)).Value > ActiveCell(Offset(-1, 1)).Value Then
detail = .Cells(b, 1).Value
ws.Range("B8:K9").Copy
Range("" & Rows.Count).End(xlUp).Offset(3).PasteSpecial xlPasteValues
ws.Activate "Required Data"
Range(Cells(b, 4), .Cells(b, 13)).Copy
detail = .Cells(b, 1).Value
Sheets(detail).Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
b = b + 1
Loop
End With
End Sub
Каждое значение ячейки в столбце A имеет соответствующий рабочий лист, в который мне нужно вставить.
То, что я ищу, как показано с отступом в коде. Есть 2 возможных сценария:
- ячейка в A = ячейка (смещение (-1)) И ячейка в B = ячейка (смещение (-1)
или
- ячейка в ячейке A = ячейка (смещение (-1)) И ячейка в ячейке B <> (смещение (-1)