Este artigo ensina a copiar informações de uma coluna e colar em outra coluna considerando a existência de linhas ocultas ou com filtro.
Imagine a seguinte situação:Um cliente e/ou uma agência envia para você uma tradução em documento Excel. Este documento contém uma coluna A, em cujas células está armazenado o texto original, e também uma coluna B vazia. Bom, percebe-se que, certamente, o cliente e/ou a agência esperam que você escreva a tradução diretamente na coluna B e, por conseguinte, conclui-se que eles não conhecem uma CAT-Tool ou o seu uso.
Se você é tradutor e usa, ou já usou, uma CAT-Tool sabe do que estou falando: você talvez prefira que o texto venha escrito nas duas colunas – sendo B a cópia de A – e você traduzira a coluna B com uma CAT-Tool.
"Este comando não pode ser usado em seleções múltiplas."
Se você viu a mensagem acima, provavelmente você tentou colar dados nas células visíveis da mesma maneira que você selecionou e copiou: clicando em Página Inicial > Edição > Localizar e Selecionar > Ir Para Especial > Somente células visíveis (Office 2013, 2010, 2007). Não funciona e o jeito é recorrer às macros
Para deixar o documento do jeito que você quer, você espertamente seleciona a coluna A, copia e tenta colar na coluna B e vê que não dá certo, pois existe uma quantidade enorme de linhas ocultas! Curioso, você abre uma linha oculta de descobre que são traduções do próprio cliente e não podem ser alteradas ou apagadas. Insistente, e esperto como sempre, você tenta realizar esse procedimento pelo LibreOffice e acha que dá certo quando, na verdade, não deu, pois percebe que o texto traduzido do cliente foi substituído pelo texto original! "Poxa vida! É um procedimento tão simples! Por que não dá certo?", você pensa e lembra: "Só podia ser a Microsoft!".
O tempo passa e o desespero começa a bater. Finalmente, quase pedindo para sair, você pensa em pedir um novo documento Excel como desejado. E surge uma nova questão: "será que eles vão entender o meu pedido? Com uma macro eu resolveria isso em menos de 1 minuto". Ora! Você tem razão! No meu caso, a macro resolveu a situação em menos de 30 segundos... o problema foi encontrar a macro.
A macro é o que salvará a sua vida (exagero...). Ora, porque sem ela, você demoraria uma eternidade colando manualmente, pois você pode dar o azar de se deparar com centenas ou milhares de linhas ocultas, que podem ou não seguir um padrão! Além disso, neste caso específico, as células/linhas ocultas já estavam preenchidas com a tradução do cliente.

"No Excel: é possível selecionar e copiar informações apenas de células visíveis; mas só é possível colar em células visíveis através de macro."
Em busca da macro perdida
O meu conhecimento em programação é limitado e não consigo escrever códigos bacanas para cada novo problema que aparece. Porém, consigo, ao menos, encontrar uma macro que me sirva e consigo entender – mesmo que mal – o que ela fará quando eu clicar em executar. A dificuldade está mesmo em encontrar a "macro perdida"! E se não encontrar, por que não pedir para alguém mais experiente (nos fóruns de excel) ou mesmo contratar alguém para fazer? Dependendo do caso, pode ser que valha a pena. Para o caso acima, eu a encontrei.A macro:
Sub Copiar_Celulas_Visiveis()
Set from = Selection
Set too = Application.InputBox("Selecione o intervalo de células de destino", Type:=8)
For Each Cell In from
Cell.Copy
For Each thing In too
If thing.EntireRow.RowHeight > 0 Then
thing.PasteSpecial
Set too = thing.Offset(1).Resize(too.Rows.Count)
Exit For
End If
Next
Next
End Sub
Os arquivos de exemplo
Abra o arquivo "2. Cores - Linhas com células da coluna B preenchidas estão ocultas.xlsx". Ele já foi traduzido. O objetivo aqui é colar a tradução já feita na coluna B, que é a coluna correta e:
1. Pressione ALT+F11 para abrir a tela do Microsoft Visual Basic
3. Depois que a nova janela se abrir, cole o código da macro
![]() |
Figura 3 |
4. Salve
![]() |
Figura 4 |
5. Clique em Sim se aparecer uma tela perguntando "sim" ou "não"
![]() |
Figura 5 |
6. Feche a tela do Microsoft Visual Basic
![]() |
Figura 6 |
7. Selecione as células da coluna A (origem) que serão copiadas para a coluna B (destino). Em seguida, clique em Localizar e Selecionar e depois em Ir para especial*
![]() |
Figura 7 |
8. Selecione Somente células visíveis e depois em OK.
![]() |
Figura 8 |
9. Note que o formato da seleção se altera:
![]() |
Figura 9 |
10. Clique em Macros, conforme figura 10.
![]() |
Figura 10 |
11. Selecione a macro e clique em executar:
12. Uma caixa de diálogo aparece: é a macro sendo executada.
![]() |
Figura 12 |
13. Para evitar erros, selecione com o mouse o intervalo de células de destino, o intervalo aparece escrito automaticamente na caixa de texto e pressione OK**
![]() |
Figura 13 |
14. Depois de pressionar OK, a caixa de diálogo desaparece e somente as células visíveis selecionadas contendo o texto traduzido são copiadas para as células de destino. As células ocultas permanecem quietas, sem alteração, como deve ser.
![]() |
Figura 14 |
15. Como o cliente enviou o arquivo Excel com as linhas ocultas, é normal que o documento lhe seja retornado assim. Você pode exibir as células ocultas, mas faça Ctrl+Z depois de terminar a verificação.
![]() |
Figura 15 |
16. Todas as linhas visíveis (lembre-se de fazer Ctrl+Z).
![]() |
Figura 16 |
17. A coluna A, que deveria estar em português, está em inglês. Apenas copie e cole o texto de backup por cima***
* Para não ter de corrigir o título, selecione somente as células visíveis que foram traduzidas. Lembre-se de selecionar o mesmo intervalo na coluna B.
** Em situações em que o intervalo seja muito longo, é melhor selecionar a primeira célula do intervalo, usar a barra de rolamento para ir até a última célula do intervalo e selecioná-la com o Shift pressionado.
*** Este passo é necessário se você traduzir a coluna A para depois usar a macro. Também é possível primeiro usar a macro, para preencher as células vazias com o texto a ser traduzido, para então traduzir.
Informações importantes:
A macro foi testada novamente durante a produção do tutorial e funciona.
Se você não sabe bem como usar uma macro, veja aqui e aqui.
Traduzi o nome da macro e o texto da caixa de diálogo e a original pode ser encontrada neste endereço.
========================
DMF = Daniel Mendes Fernandes
www.dmftradutor.com
========================