У меня есть две проблем:VBA - Удалить смежную строку в цикле
1)
Я бег цикла в VBA, который будет искать строки для конкретных условий. Если это условие выполнено, оно скопирует значение ячейки из строки выше (используя функцию смещения) и вставляет ее в ячейку ниже.
Затем я хочу, чтобы он удалил всю строку выше. У меня возникают проблемы, сочетающую функции смещения с
entirerow.delete
Я получаю ошибку является просто «Ошибка синтаксиса»
Вот код:
Sub rowdelete()
maxrow = ActiveSheet.UsedRange.Rows.Count
For Each rcell In Range("A2:A" & maxrow)
If rcell.Value = "--" Then
rcell.offset(-1,).EntireRow.Delete
End If
Next rcell
End Sub
2), играя с синтаксиса Устранение неполадок, я попытался просто запустить rcell.entirerow.delete
Это сработало, но я понял, что есть две соседние строки, которые должны быть удалены только первый будет удален. Я предполагаю, что это потому, что вторая строка становится первой строкой после удаления и пропускается как итерация в цикле.
Есть ли простые способы обойти это? Важно, чтобы строки сохраняли порядок сортировки, в котором они находятся, до начала цикла.
Спасибо!
ли мой ответ для вас работу? Если это так, то, пожалуйста, отметьте как правильно, щелкнув зеленую галочку рядом с ответом. Это то, что вы можете сделать. Это закроет вопрос. –