Вместо того, чтобы иметь один большой несмежный диапазон, вы можете создать массив меньших диапазонов в коде, а затем итеративно скопировать каждый диапазон.
Скорее всего, вы получите удар по производительности при массовом копировании диапазонов, но этот подход должен быть более гибким.