Você pode editar o conteúdo de uma célula do Excel sem precisar clicar duas vezes nela?

28

Eu tenho uma lista de cerca de 10.000 nomes / endereços que eu tenho que limpar manualmente no Excel (diversão!). Como você pode imaginar, ter que clicar duas vezes para entrar em quase todas as células para editá-lo é uma chatice. E é frustrante que, se você estiver um pouco perto da parte superior / inferior da célula, acabe na parte superior / inferior da planilha!

Existe uma maneira de dizer ao Excel para permanecer no 'modo de edição', para que, quando eu clico em uma célula (ou, melhor ainda, role para baixo), ele automaticamente permita que eu edite o conteúdo? Não posso simplesmente começar a digitar, pois isso substitui a célula inteira, quando muitas vezes eu preciso editar 1 ou 2 caracteres. Obrigado.

David Gard
fonte
1
É uma solução alternativa suja, mas que tal convertê-lo para CSV, dividir com vírgulas e editar com o Bloco de Notas ou qualquer outro editor de texto que você goste?
Gronostaj
9
Tem certeza de que não há script ou função que possa fazer essa "limpeza" para você? Quando confrontado com uma situação semelhante, peguei todos os dados do excel e os executei com sucesso por meio de um pequeno script regex.
Moisés
19
Definitivamente, observe o que Moisés diz. Se você estiver fazendo algo 10.000 vezes manualmente, estará fazendo errado.
Tanner Faulkner
@Meses - Infelizmente não. Essas entradas são provenientes de um banco de dados, e é principalmente o campo 'Nome do Endereço' que está sobrecarregado, com os dados muito inconsistentes. Alguns dizem coisas como 'Smith John Mr & Smith Joan Mrs', que deve ser 'Mr & Mrs J Smith', enquanto outros ficam em branco, etc. Isso basicamente é o início de um projeto muito grande.
David Gard
1
@datatoo - Os nomes precisam ser apenas de maneira legível, para que possam ser usados ​​em endereços. Como vários bancos de dados são mesclados em um ao longo dos anos (e pessoas são preguiçosas), os dados são inconsistentes na célula. Não tenho célula de referência e, quando essa parte do projeto estiver concluída, dividirei os dados em Saudação, Iniciais, Sobrenome etc. É nesse ponto que posso começar a usar a automação.
David Gard

Respostas:

20

Você pode fazer isso com a seguinte macro. Isso fará com que o Excel se comporte como se você pressionasse F2toda vez que alterar as seleções na planilha.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    SendKeys "{F2}"
End Sub

Pressione Alt+ F11para abrir o editor VBA, expanda a visualização em árvore esquerda até ver a planilha desejada, clique duas vezes nessa planilha e cole o código acima.

Você pode desativá-lo simplesmente adicionando 'na frente da linha de código um comentário como:

'SendKeys "{F2}"

Ou, eu acho, excluindo-o completamente.


Isso também funciona muito bem se você estiver usando enterpara mover células (que eu suspeito ser sua principal intenção), pois ele começará a editá-las imediatamente e permitirá que você se mova muito mais rapidamente.

enderland
fonte
Btw, obrigado por perguntar isso, eu vou usar isso sozinho, já que isso é muito melhor para muita manipulação de dados!
Enderland 20/05
Perfeito! É exatamente isso que desejo para esta pasta de trabalho, muito obrigado. A única ligeira estranheza que notei é que, se eu usar 'Shift + Tab' para percorrer as células da direita para a esquerda, tenho que reprimir 'Shift' toda vez, em vez de apenas poder mantê-lo pressionado.
David Gard
3
Cuidado que o uso do VBA dessa maneira tem suas desvantagens. Mais notavelmente, ele eliminará qualquer funcionalidade de Desfazer na planilha. Portanto, se você estragar e excluir alguns dados acidentalmente, é melhor ter um backup. Além disso, as teclas de seta não funcionam mais para navegar na planilha.
Excellll
3
@Excellll tem um ponto excelente; sua funcionalidade Desfazer é perdida. Para uma macro tão simples, não parece valer a pena. Considere usar o AutoHotKey - você pode pressionar F2 após Enter, Shift-Enter, Tab ou Shift-Tab. (E você pode ter certeza que só funciona em Excel também.)
benshepherd
19

Você pode entrar no modo de edição a partir do teclado através da F2tecla ou pode criar uma macro VB com pop-up / prompt. Embora, estritamente falando, não exista nenhuma opção que fique no F2modo, você pode escrever um pequeno script no Excel que desce uma linha e entra na célula (depois, essa macro substitui seu "retorno / guia" por uma nova coluna) .

Editar: Outra opção seria gerenciar essas edições por meio de um programa diferente, com uma interface de usuário mais acessível para esse tipo de dados. Por exemplo, envie todos esses dados para um programa de banco de dados como o Access e gerencie os campos de dados por meio da interface do usuário.

No entanto, tudo isso evita o problema principal, e é por isso que existem 10.000 linhas de dados que requerem limpeza manual? Se escrever um único script para governá-los é muito complicado, por que não dividir a mesa em grupos significativos e enfrentá-los dessa maneira? É difícil imaginar que 10.000 campos de dados devem ser processados ​​manualmente e não há solução alternativa.

Moisés
fonte
1
Obrigado pela dica F2, isso ajuda. Vou procurar sobrescrever as teclas de retorno / tab para esta planilha com essa função. Obrigado.
David Gard
@DavidGard não há problema. Também atualizei minha resposta com uma terceira alternativa que pode funcionar para você.
Moisés
3
+1...why is there 10,000 rows of data that require manual cleaning?
Icode4food
7

A única maneira que eu sei é pressionando F2. Isso funciona sempre, até que você pressione Return/ Enterpara sair da célula atual.

Kevdog777
fonte
2

Uma resposta possível seria um programa chamado "Middle Mouse Button (ou Wheel) to Doubleclick". Ele está disponível no codeproject. Não sei se devo postar links aqui, mas tenho certeza que o google pode ser seu amigo. o que ele faz é enquanto está ativo, você pode clicar com o botão do meio do mouse e enviar um clique duplo para o seu computador.

Dan
fonte
0

Pressionar "F2" é possivelmente a melhor escolha, embora não permaneça no modo de edição. Se você conhece as edições que deseja executar, a localização / substituição (Ctrl + F) também é muito útil e pode economizar muito tempo. Além disso, você pode encontrar uma lista de mais de 200 atalhos de teclado do Excel aqui .

Carlos Manta
fonte
0

selecione a coluna inteira e use localizar e substituir. basta colocar um espaço vazio em ambos encontrar e substituir, em seguida, ele será atualizado - assim você pode enganar o excel e funciona

excel
fonte
0

Experimente a fórmula = concatenar. Unir informações de duas células juntas. Então você pode copiar e colar valores.

Luke
fonte
0

Verifique os parâmetros do formato da célula ... se a célula tiver uma marca de seleção oculta na guia de proteção, ela não permitirá que você edite o texto escrito da célula. a caixa de seleção deve estar desmarcada para ver o conteúdo da caixa e editá-lo conforme necessário.

user500030
fonte
Isso realmente não responde ao que foi solicitado na pergunta. Com um pouco mais de rep, você poderá adicionar informações úteis em um comentário.
Fixer1234 21/09/2015
0

Essa foi a solução mais fácil que funcionou para mim.

http://ccm.net/forum/affich-172180-unable-to-change-date-format-in-excel

  1. Primeiro mude seu formato para a data específica que você deseja para sua coluna de dados.
  2. Com a coluna selecionada, selecione "Copiar"
  3. Bloco de notas aberto (NÃO PALAVRA, tem que ser bloco de notas)
  4. Cole seus dados no bloco de notas.
  5. No bloco de notas, pressione CTRL + A (seleciona todas as células) e pressione CTRL + C (copia dados)
  6. Cole os dados novamente no Excel.
  7. Ele dirá algo sobre o tamanho não ser o mesmo, cole-o de qualquer maneira.
Michael LaPalme
fonte
0

Se você estiver editando as células sem fórmula ou algo que só pode ser feito no Excel, basta copiar essas células e colá-las como colunas ou tabelas normais em um documento do Word. Edite os dados nessas tabelas livremente e copie de volta para o local original no Excel.

Jack
fonte