Я довольно новичок в VBA и работаю над кодом для копирования диапазона, только если значение ячейки в той же строке «Завершено».Перемещение диапазона на основе значения ячейки
Скопированный диапазон затем вставляется в другой столбец, а исходный диапазон удаляется.
Было бы здорово, если бы он мог зацикливаться, так что движение происходит автоматически, когда значение ячейки изменяется на завершенное. Мой код до сих пор:
Sub Move()
Dim r As Range, cell As Range, mynumber As Long
Set r = Range("O1:O1000")
mynumber = 1
For Each cell In r
If cell.Value = "Completed" Then
Range("Q15:AE15").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
If cell.Value = "Completed" Then
ActiveCell.Select
ActiveCell.Range("B:O").Select
Selection.Copy
Range("Q14").Select
ActiveSheet.Paste
End If
Next
End Sub
Вы должны смотреть эту серию [Excel VBA Введение] (https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5) это relavent видео [Часть 5 - Выбор ячеек (диапазон, Ячейки, Activecell, End, Offset)] (https://www.youtube.com/watch?v=c8reU-H1PKQ&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5&index=5). Похоже, вы хотите использовать событие [Worksheet.Change Event (Excel)] (https://msdn.microsoft.com/en-us/library/office/ff839775.aspx) –