Colar eficiente – VBA

Um erro comum em VBA é fazer manipulações linha a linha: copiar uma linha da planilha, trabalhar, escrever a linha de volta no Excel.

É extremamente mais eficiente copiar tudo de uma vez, trabalhar e colar tudo.

Para colar a tabela inteira de uma vez, use um comando assim:

Range(“a1”).Resize(UBound(tab1, 1), UBound(tab1, 2)) = tab1

Escolha a célula inicial a colar (no caso, “a1”), depois expanda para as dimensões da tabela (no caso, tab1) e depois colar.

Exemplo aqui (https://1drv.ms/x/s!Aumr1P3FaK7jnz8rsuntJq8VGFce). Veja que é bem eficiente.

Sub colarexemplo()

Dim tab1 As Variant

Dim i  As Integer, j As Integer

ReDim tab1(1 To 1000, 1 To 2333)

For i = 1 To UBound(tab1, 1)

    For j = 1 To UBound(tab1, 2)

        tab1(i, j) = Math.Rnd

    Next j

Next i

Sheets(“Plan1”).Range(“a1”).Resize(UBound(tab1, 1), UBound(tab1, 2)) = tab1

End Sub

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s