Você não pode fazer o que está pedindo com uma única linha de código.
Suponho que o que está em cada coluna é amplamente compatível entre suas duas folhas (caso contrário, você não estaria tentando copiar todo o intervalo de uma folha para outra).
Aqui está uma maneira de fazer isso:
- Copie todo o intervalo para a planilha de destino como você está atualmente, mas cole apenas o texto. Isso manterá a formatação da planilha de destino, mas substituirá as fórmulas que você deseja manter.
- Na planilha de destino, copie as fórmulas que deseja manter da linha acima para a linha recém-colada. O Excel atualizará automaticamente quaisquer referências relativas nas fórmulas. Você terá que fazer isso para cada grupo contíguo de células que contêm fórmulas.
Há certamente outras maneiras de fazer isso, mas todas elas exigirão que seu código VBA "saiba" as referências (ou como encontrá-las) das células que precisam ser tratadas de forma diferente. Não há recurso embutido que executa os vários tipos de cópia distintos que você precisa para um único intervalo em uma única operação. Nós temos o VBA por causa de coisas assim!
Quanto à exclusão dos dados da planilha de origem, suponho que você esteja procurando o método .ClearContents .