Outro problema de cópia no Excel:
Como posso copiar uma planilha do Workbook.xlsx para o Workbook.xlsx sem que a planilha copiada ainda faça referência ao WorkbookA.xlsx, por exemplo, a fórmula =B!23
torna-se =[WorkbookA.xlsx]!B!23
quando copiado.
Eu quero manter referências de célula "relativas" em vez de referências de célula "absoluta" (vou inventar esta terminologia no mundo do Excel se ainda não existe).
Outra alternativa possível que não consigo fazer funcionar é a opção de colar apenas "valores" de células. Excel trata "valores" como valores calculados em vez das fórmulas reais na célula. Se eu escolher a fórmula de colar, ela ainda fornece referências absolutas.
Mais sobre por que eu preciso disso: Eu tenho um xlsx de produção em uso para operações diárias. Nós constantemente precisamos fazer "atualizações" para este xlsx e então uma pessoa pode criar uma cópia e suas alterações para uma única folha. Ao mesmo tempo, outra pessoa também pode estar fazendo alterações em outra planilha. Dado que estas folhas não têm células dependentes em outras folhas Como um relatório de resumo, é desejável que apenas copiemos e mesclamos as folhas de volta ao xlsx original. Mas a referência "absoluta" está causando muitos problemas.
select all - copy - paste special - values
ter apenas valores. Se você quiser fazer tudo isso durante a cópia, em vez de confiar no usuário final para realizar essas etapas, bem, eu tenho trabalhado nisso. Deixe-nos saber exatamente como você quer ir em termos de WorkbookA (ou 1) e WBB (2) e as folhas #sRespostas:
Tente usar Ctrl + ~ para exibir as fórmulas. Então use Ctrl + UMA para selecionar tudo, copie-o e cole-o no bloco de notas.
Por fim, copie-o do bloco de notas e cole-o em sua outra pasta de trabalho.
fonte
Achei mais fácil, em muitos casos, fazer o seguinte:
[WorkbookA.xlsx]!
fonte
A resposta não assinada logo abaixo desta é a que funcionou para mim, com uma pequena variação.
Crie e salve uma planilha de destino.
Use "mover", "copiar" ou arraste sua página com as fórmulas para a nova planilha. Isso deixa as fórmulas na nova página apontando para a planilha antiga. Em seguida, salve a nova planilha no mesmo local da planilha antiga.
Em seguida, vá para a guia "Dados" & gt; clique em Editar Links. A opção não estará ativa a menos que haja links na página.
Na caixa de diálogo resultante, selecione o nome do arquivo de origem e clique em "Alterar origem".
Na caixa de diálogo de arquivo aberto que aparece em seguida, selecione o nome da nova planilha.
Clique em Fechar e você está acabado.
fonte
Ou simplesmente faça o seguinte:
Converta isto:
para isso:
e não há mais mudanças em suas referências quando você copia entre planilhas.
Se você não tem muitas folhas referenciadas, outra alternativa seria usar
e insira o nome da folha de referência na célula B1. Agora você só tem uma célula para atualizar quando copiada para a nova planilha.
fonte
INDIRECT
é uma fórmula volátil, por isso será recalculada a cada vez (ao contrário de apenas quando editada), o que pode realmente desacelerar pastas de trabalho mais complexas, portanto, use com cuidadoO código abaixo pode ser adaptado às suas necessidades. Leva todas as fórmulas da folha em
wb1
e aplica-os a uma planilha em uma nova pasta de trabalho. As fórmulas são aplicadas comoString
s, portanto, não há inserção de referências à pasta de trabalho original. Além disso, esse código é super rápido porque não usa a área de transferência e não requer nenhum loop pelas células.fonte
Isso funciona para mim.
fonte
Como 99% das respostas nem sequer abordaram a pergunta original, aqui está a resposta apropriada.
Copie as folhas do arquivo original (Original.xlsx) para o novo arquivo do Excel (New.xlsx) como faria normalmente. Geralmente, clico com o botão direito no nome e escolho "Mover ou Copiar ...".
Salve o segundo arquivo recém-criado (New.xlsx).
No novo arquivo, em Dados, clique em "Editar Links"
No pop-up, escolha "Alterar fonte ..."
Localize o arquivo (New.xlsx) e clique em Abrir.
Todas as referências ao original (Original.xlsx) serão removidas.
FEITO!
fonte
Ambas as pastas de trabalho devem estar abertas para que isso funcione . Você executa essa macro e copia
workbookA!sheet
1 aworkbookB!sheet1
e depois substituir todo oworkbookA
referências. É bruto, mas funciona . Obviamente, você pode alterar o código para corresponder aos nomes do WorkbookA.xlsx, mas certifique-se de que eles tenham a extensão correta e permaneçam entre aspas.Ah, para fazer uma macro, caso você não saiba, acerte alt + F11 para trazer o Editor do Visual Basic. Então clique com o botão direito no WBA
insert - module
e copie e cole o código abaixo no módulo. Então aperte F5 para executar a macro. Se a macro não for executada, provavelmente é porque as macros não estão habilitadas, então vá em frente e salve-a e reabra-a e quando ela solicitar a habilitação de macros, habilite-as.fonte
CTRL+H
agora, mas todos estes não fixam as referências para os controlos, e. botões, dropdowns e tal; e intervalos nomeados.Eu consegui isso copiando as células para a nova planilha como normal, em seguida, fazendo um encontrar uma substituição para remover o caminho do arquivo antigo nas fórmulas.
Por exemplo. se a primeira fórmula é
=J2
e isso se torna=[filepath]J2
, em seguida, basta encontrar e substituir toda a nova planilha para[filepath]
e substitua por nada. Isso exclui e restaura a fórmula para=J2
.Não é necessário VB!
fonte
Eu estava tendo um problema semelhante. A razão pela qual as fórmulas foram coladas com o link para o WBA foi que a guia (folha) na qual eu estava trabalhando no WBA recebeu um nome diferente do da WBB. Para mim, era sempre "a última folha", mas uma chamava-se "MinFlow" e a outra, "NormalFlow". Eu renomeiei ambos para 'Resultados' e o copiar / colar funcionou como eu queria - uma "pasta relativa".
fonte
Selecione as células que você deseja mover. Agora tente movê-los arrastando e soltando a planilha diferente (guia diferente).
Eu sei, rola. Aqui está a parte complicada: basta pressionar cmd (mac) ou alt (win) e ele permitirá que você deixe as células em outra aba.
fonte
Oi aqui é uma solução simples para este problema:
CTRL+F
e selecione a guia substituir.Replace with
campo, pressioneReplace All
.Voila - está feito.
fonte
Outro "truque" - antes de copiar a planilha de origem, substituir todos os qualificadores de fórmula
=
com outro conjunto de caracteres (digamos###=
).Copie a planilha, depois da cópia, substitua o qualificador de fórmula (substituindo
###=
com=
).Certifique-se de que quaisquer referências de folhas dentro das fórmulas também sejam copiadas para a nova planilha antes da planilha de referência.
fonte
Copie a folha como de costume. (clique com o botão direito para tab e vá para 'mover ou copiar') Isto é para formatação.
Copie todas as células da folha original (usando Ctrl + UMA ou triângulo superior esquerdo e Ctrl + C )
Colar como Valores para a nova pasta de trabalho (sobre a planilha da "etapa 1") (Opções de Colagem & gt; 123)
fonte
Se você precisar fazer isso automaticamente, porque você está puxando as folhas em um programa VBA. Usa isto:
Basta alterar "String encontrada no nome do livro de origem". para coincidir com os links antigos que você deseja substituir. Você poderia remover esse bloco se quiser substituir todos os links.
fonte
Abra as duas pastas de trabalho. Na pasta de trabalho de origem (WorkbookA.xlsx), selecione a folha que você deseja copiar. Clique com o botão direito do mouse na guia da planilha e selecione “Mover ou Copiar…”. Na caixa de diálogo "Mover ou copiar", selecione "WorkbookB.xlsx" na lista suspensa "Para reservar", escolha onde no livro você quer colocá-lo e marque "Criar uma cópia". (E clique em "OK".)
fonte
Faça uma cópia da planilha para a qual você deseja mover as planilhas das quais, nesse caso, seria WorkbookA.xlsx. Renomeie para dizer "Copy of WorkbookA.xlsx". Agora abra esta nova pasta de trabalho, bem como a pasta de trabalho para a qual você deseja mover a pasta, para a qual, nesse caso, seria WorkbookB.xlsx. Clique com o botão direito do mouse em planilhas na pasta de trabalho de cópia que você criou, por exemplo, Copy of WorkbookA.xlsx e selecione 'move or copy' e mova essas folhas para WorkbookB.xlsx. Você terminou !
fonte