aneira rápida de copiar a formatação no exc

Tenho dois bits de código. Primeiro, uma pasta de cópia padrão da célula A para a célula B

Sheets(sheet_).Cells(x, 1).Copy Destination:=Sheets("Output").Cells(startrow, 2)

Eu posso fazer quase o mesmo usando

Sheets("Output").Cells(startrow, 2) = Sheets(sheet_).Cells(x, 1)

Agora, este segundo método é muito mais rápido, evitando copiar para a área de transferência e colar novamente. No entanto, ele não copia a formatação como o primeiro método. A segunda versão é quase instantânea para copiar 500 linhas, enquanto o primeiro método adiciona cerca de 5 segundos ao tempo. E a versão final pode ter mais de 5000 células.

Então, minha pergunta pode ser alterada para incluir a formatação da célula (principalmente a cor da fonte), mantendo a velocidad

Ideally, eu gostaria de poder copiar os valores das células para uma matriz / lista, juntamente com a formatação da fonte, para que eu possa realizar mais classificações e operações antes de "colá-las" na planilh

Então minha solução ideal seria algo como

for x = 0 to 5000
array(x) = Sheets(sheet_).Cells(x, 1) 'including formatting
next

for x = 0 to 5000
Sheets("Output").Cells(x, 1)
next

possível usar seqüências de caracteres RTF no VBA ou isso só é possível no vb.net et

Respond*

Para ver como meu método original e o novo método se comparam, aqui estão os resultados ou antes e depois

New code = 65msec

Sheets("Output").Cells(startrow, 2) = Sheets(sheet_).Cells(x, 1)
Sheets("Output").Range("B" & startrow).Font.ColorIndex = Sheets(sheet_).Range("A" & x).Font.ColorIndex 'copy font colour as well

Código antigo = 1296msec

'Sheets("Output").Cells(startrow, 2).Value = Sheets(sheet_).Cells(x, 1)
'Sheets(sheet_).Cells(x, 1).Copy
'Sheets("Output").Cells(startrow, 2).PasteSpecial (xlPasteFormats)
'Application.CutCopyMode = False

questionAnswers(5)

yourAnswerToTheQuestion