В моем коде Excel VBA мне нужно переместить некоторые данные из диапазона на другой лист.Итерация 100 ячеек занимает слишком много времени
В настоящее время, я перебор диапазона и копирование значения, как это:
For offset = 0 To 101
ActiveWorkbook.Sheets(Sheet).Range("C3").offset(offset, 0).Value = ActiveSheet.Range("D4").offset(offset, 0).Value
Next offset
Однако, она занимает почти минуты, чтобы перебирать и скопировать значения для 100 ячеек.
Могу ли я использовать программную копию Copy-Paste, или есть способ скопировать весь диапазон сразу? Что-то вроде:
ActiveWorkbook.Sheets(Sheet).Range("C3:C102").Value = ActiveSheet.Range("D4:D104").Value
".... Другие программы могут читать/записывать в буфер обмена во время работы вашего кода, что вызовет дикие, непредсказуемые результаты ....« Это отличный совет – CaBieberach