Я пытаюсь получить цикл do-until, который у меня есть в моем коде, чтобы распознать дату (дата в формате M/DD/YY HH:MM
), которая добавляет к ней каждую минуту вокруг цикла а затем завершаться, когда это значение равно второму неизменному значению. Вот что у меня есть:Do-Until Loop Not Recognizing Range Values
Do
Range("A9").Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R1C1+R1C72"
Range("B1").Select
Selection.Copy
Range("A9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Loop Until ActiveCell.value = Range("RC74").value
This is a photo of what my sheet looks like with the data removed in the middle.
Две клетки сравниваемых были BW9 и A9. Извините, я не был очень конкретным. Специальная вставка заключалась в том, чтобы предотвратить сбой с использованием стороннего программного обеспечения, которое также используется.
Насколько я могу сказать, значение в A9 всегда будет одинаковым. Формула в B1 становится '= C2 + BV2', которую ни одна ячейка не меняет в цикле, поэтому B1 всегда будет одинаковой, и так будет A9. Поэтому, если он не равен RC74 (не могу определить, действительно ли фактическая ячейка RC74, или если это попытка использовать формат R1C1, что не может быть сделано так), первый цикл цикл будет продолжаться вечно. –
Что не работает? –
Я готов поспорить, что это препятствует использование '.Select' и' ActiveCell'. Попробуйте вместо этого напрямую работать с данными. Прочитайте [Как избежать '.Select'] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) для некоторых советов. Я очень рекомендую это сделать. Если вы можете опубликовать код за пределами этого цикла, мы также можем помочь. – BruceWayne