я создал этот код с целью:Условный цикл с управлением суммой пропускает значения
Первого контур:
- Петля через клетку в
column O
, чтобы найти все, что начинается сDAAP
. - Если ячейка 5 столбцов слева от
DAAP
пуста, то добавьте ячейку 1 столбец вправо (это число) доTotal
. Затем переименовать ячейкуGAAF
- Если Клеточные 5 колонок осталось не пусто, то просто переименовать ячейку
GAAF
Второй контур:
- Найти все
GAAF
клетки вcolumn O
, а затем изменить ячейка 1 столбец справа отTotal
Вот код, который у меня есть, он работает без ошибок, но просто ничего не делает. Я предполагаю, что что-то синтаксически неверно, поэтому он смотрит не в то место, но я не могу его найти! Любая помощь очень ценится :)
Dim rng As Range
Dim lstRow As Long
Dim AUMCell As Range
Dim Total As Long
lstRow = Cells(Rows.Count, "O").End(xlUp).Row
Set rng = Range("O2", Cells(lstRow, "O"))
Total = 0
For Each AUMCell In rng
If AUMCell.value = "DAAP" & "*" And AUMCell.Offset(0, -5).value = "" Then
Total = Total + AUMCell.Offset(0, 1).Value
AUMCell.value = "GAAF"
ElseIf AUMCell.value = "DAAP" & "*" And AUMCell.Offset(0, -5).value <> "" Then
AUMCell.value = "GAAF"
End If
Next AUMCell
For Each AUMCell In rng
If AUMCell.Value = "GAAF" Then
AUMCell.Offset(0, 1).Value = Total
End If
Next AUMCell
Вы запустили его на нужном листе? Потому что вы не определили свои диапазоны. – findwindow
Я сделал! В моем полном макросе у меня есть листы («»). Активируйте строку непосредственно перед ней. Хорошая мысль, хотя :) – IIJHFII
Это связано с If AUMCell.value = "DAAP" и "*" 'использовать' INSTR (AUMCell.value, "DAAP")> 0' вместо этого. Или замените '=' на 'Like', он тоже может работать. –