Пытаюсь выполнить проверку - выделена ли ячейка в пределах диапазона. Диапазон - это в основном все строки между двумя словами в столбце A.
CheckIfCellIsInBetween "OWN WORK FIRST", "OWN WORK LAST", 266
Таким образом, если выбранная ячейка находится между «СОБСТВЕННАЯ РАБОТА ПЕРВАЯ» и «СОБСТВЕННАЯ РАБОТА ПОСЛЕДНЯ». Код должен работать, иначе должно отображаться сообщение об ошибке. Я знаю, что это неверно If foundA Is Nothing Or foundB Is Nothing Then
, но что это должно быть?
Текущий код:
Sub CheckIfCellIsInBetween(statementA, statementB, GanttDataRow)
Dim foundA As Range, _
foundB As Range
With ActiveSheet.Columns(1)
Set foundA = .Find(statementA)
If Not foundA Is Nothing Then
Set foundB = .Find(statementB, after:=foundA, searchdirection:=xlPrevious)
End If
End With
If foundA Is Nothing Or foundB Is Nothing Then
MsgBox "You are trying to paste to wrong section, please go to Own Work section"
Else
ThisWorkbook.Worksheets("GanttData").Rows(GanttDataRow).Copy
ThisWorkbook.Worksheets("GanttChart").Range("A" & ActiveCell.Row).insert
End If
End Sub
Текущий код не выполняет проверку правильно, он вставляется где угодно, потому что текущий оператор всегда истинен в моем случае как то не так.