Macro do Excel 2010 - Copie o intervalo de células com fórmulas e cole apenas os valores

0

Eu quero criar uma macro simples que copie um intervalo de células com informações geradas por fórmulas na planilha 2, para um intervalo de células na planilha 1. Eu preciso colar apenas VALUES na página 1, deixando as fórmulas na página 2 no lugar.

Eu tentei o seguinte:

Sheets("data").Range("A3:A16").Copy 
Sheets("combat").ActiveSheet.Range("A3:A16").PasteSpecial xlPasteValues
Sheets("data").Range("C3:C16").Copy 
Sheets("combat").ActiveSheet.Range("C3:C16").PasteSpecial xlPasteValues
Sheets("data").Range("D3:D16").Copy 
Sheets("combat").ActiveSheet.Range("D3:D16").PasteSpecial xlPasteValues
Sheets("data").Range("E3:E16").Copy 
Sheets("combat").ActiveSheet.Range("P3:P16").PasteSpecial xlPasteValues
Sheets("data").Range("F3:F16").Copy 
Sheets("combat").ActiveSheet.Range("R3:R16").PasteSpecial xlPasteValues
Sheets("data").Range("G3:G16").Copy 
Sheets("combat").ActiveSheet.Range("Q3:Q16").PasteSpecial xlPasteValues
Sheets("data").Range("H3:H16").Copy 
Sheets("combat").ActiveSheet.Range("S3:S16").PasteSpecial xlPasteValues

copia dados das células, mas não cola na outra folha.

Se alguém souber onde estou indo errado, por favor me avise!

    
por James Williams 09.02.2013 / 21:29

1 resposta

1

Se você estiver indo para a rota VBA, evite copiar / colar porque não é muito eficiente.

Sub CopyToCombat()

Dim shtData As Worksheet, shtCombat As Worksheet
Set shtData = Sheets("data")
Set shtCombat = Sheets("combat")

shtCombat.Range("A3:A16") = shtData.Range("A3:A16").Value
shtCombat.Range("C3:D16") = shtData.Range("C3:D16").Value
shtCombat.Range("P3:P16") = shtData.Range("E3:E16").Value
shtCombat.Range("R3:R16") = shtData.Range("F3:F16").Value
shtCombat.Range("Q3:Q16") = shtData.Range("G3:G16").Value
shtCombat.Range("S3:S16") = shtData.Range("H3:H16").Value

End Sub
    
por 10.02.2013 / 04:08