Copiando intervalo e colando em nova pasta de trabalho
Isso deve ser muito simples, mas eu tenho vasculhado fóruns e respostas SO por horas para encontrar a resposta sem sorte, então estou (relutantemente) criando uma questão minha.
O que estou tentando fazer é simplesmente criar uma nova pasta de trabalho e colar um intervalo de outra pasta de trabalho nessa pasta de trabalho. Soa simples ..?
Minha pasta de trabalho original, vamos chamar Book1. Eu estou tentando criar uma nova pasta de trabalho, Book2, que vou copiar ovalores de células A1: B10 para.
Aqui está uma versão do meu código (começando com o Book1 aberto):
Range("A1:B10").Copy
Set NewBook = Workbooks.Add
With NewBook
.SaveAs Filename:="Book2.xls"
End With
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Isso fornece um erro "PasteSpecial of Range class failed". Eu tentei as seguintes correções sem sorte:
adicionado 'Workbooks ("Book2.xls"). Ativar' para o códigoremoveu os argumentos extras na linha PasteSpecialtentou '. Colar' em vez de '.PasteSpecial'mudou 'Selection.PasteSpecial' para 'ActiveSheet.PasteSpecial'referenciando explicitamente o intervalo de cópias, incluindo a pasta de trabalho e a referência da planilhacriando primeiro a nova pasta de trabalho e, em seguida, executando a cópia antes de reativar a nova pasta de trabalho e colarNenhuma das soluções acima funciona ... qualquer sabedoria nesta fase seria gratamente recebida!