Оптимизация код копировать ячейки (vba)

Хорошие,

Я нуждаюсь в том, чтобы запрограммировать код в визуальном, что скопировал все ячейки файла EXCEL в другой, за исключением тех, которые находятся lockeadas в EXCEL, я предназначаю. Проблема состоит в том, что каждое решение, которое пришло в голову мне, перемещает из-за того, что пробегает ячейку в ячейку ВЕСЬ файл, копируя и прикрепляя одну к одной. Вы можете представлять себе время выполнения (EXCELs - приблизительно 5000x50).

Вам какая-то форма приходит в голову, чтобы избегать того, чтобы код пробежал одну в одну?

Тысячи спасибо!

0
задан 06.04.2016, 17:12
1 ответ

Так как форма serГ, - чтобы копировать листы в рангах и потом из-за каждого листа пробегать ячейки, блокированные без необходимости копировать одну в одну.

Сейчас ты можешь использовать это:

Sub Test()
    Dim ws As Worksheet
    Dim Rng As Range
    Dim c As Range
    Set ws = Worksheets("Sheet1")
    Set Rng = ws.Range("A11:D600")
    For Each c In Rng
        If c.Locked = False Then
            c.ClearContents
        End If
    Next c
End Sub

Надеялся, что он подает тебя...

Чистота ячеек может делать ее, скопировав в лист. Всегда помни что используй application.screenupdate = false, для того, чтобы он опоздал меньше cГіdigo.

1
ответ дан 24.11.2019, 14:37