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 colar

Nenhuma das soluções acima funciona ... qualquer sabedoria nesta fase seria gratamente recebida!

questionAnswers(2)

yourAnswerToTheQuestion