У меня есть этот код, он должен проверять определенный диапазон в третьем столбце для значения 4, и если ячейка имеет значение 4, он должен проверять значение соседней ячейки в четвертом столбце.
Если это значение меньше, чем y, предполагается присвоить значение 4 5 ячейкам в 15-м столбце, начиная с строки, в которой изначально было найдено 4. Если оно выше, чем следует, следует назначить его 8 ячейкам в столбце 15, начиная с строки, в которой изначально было найдено 4.
Проблема, которая сохраняется, заключается в том, что спецификация ячейки в части Else
, например .Cells(x - 1, a).Value = 5
, приводит к ошибке. Если я использую только часть If
, она работает нормально.
Sub einfügen()
Dim a As Integer
Dim x As Integer
Dim y As LongLong
a = 15
y = 100000
With ActiveWorkbook.ActiveSheet
For x = 1 To 112
If .Cells(x, 3).Value = 4 And ActiveWorkbook.ActiveSheet.Cells(x, 3).Offset(0, 1) <= y Then
.Cells(x - 1, a).Value = 4
.Cells(x - 2, a).Value = 4
.Cells(x - 3, a).Value = 4
.Cells(x - 4, a).Value = 4
.Cells(x - 5, a).Value = 4
Else
.Cells(x - 1, a).Value = 4
.Cells(x - 2, a).Value = 4
.Cells(x - 3, a).Value = 4
.Cells(x - 4, a).Value = 4
.Cells(x - 5, a).Value = 4
.Cells(x - 6, a).Value = 4
.Cells(x - 7, a).Value = 4
.Cells(x - 8, a).Value = 4
End If
Next
End With
End Sub