¿Se puede editar el contenido de una celda de Excel sin tener que hacer doble clic en ella?


28

Tengo una lista de aproximadamente 10,000 nombres / direcciones que tengo que limpiar manualmente en Excel (¡divertido!). Como se puede imaginar, tener que hacer doble clic para ingresar a casi todas las celdas para editarlo es un lastre. Y es frustrante que si estás incluso un poco cerca de la parte superior / inferior de la celda, ¡terminas en la parte superior / inferior de la hoja de trabajo!

¿Hay alguna manera de decirle a Excel que permanezca en 'modo de edición', de modo que cuando hago clic en una celda (o mejor aún, me desplazo hacia abajo), automáticamente me permite editar el contenido? No puedo simplemente comenzar a escribir, ya que eso sobrescribe toda la celda, cuando a menudo solo necesito editar 1 o 2 caracteres. Gracias.


1
Es una solución sucia, pero ¿qué hay de convertirlo a CSV, dividirlo con comas y editarlo con el Bloc de notas o cualquier otro editor de texto que desee?
gronostaj

99
¿Estás seguro de que no hay ningún script o función que pueda hacer esta "limpieza" por ti? Cuando me enfrenté a una situación similar, tomé todos los datos de Excel y los ejecuté con éxito a través de un pequeño script regex.
Moisés

19
Definitivamente observa lo que Moisés dice. Si está haciendo algo 10,000 veces manualmente, entonces lo está haciendo mal.
Tanner Faulkner

@Moses - Desafortunadamente no. Estas entradas provienen de una base de datos, y es principalmente el campo 'Nombre de la dirección' el que está sucio, y los datos son muy inconsistentes. Algunos dicen cosas como 'Smith John Mr & Smith Joan Mrs', que debería ser 'Mr & Mrs J Smith', mientras que otros están en blanco, etc. Esto, básicamente, es el comienzo de un proyecto muy grande.
David Gard

1
@datatoo: los nombres deben ser legibles, de modo que se puedan usar en las direcciones. Debido a que varias bases de datos se fusionaron en una a lo largo de los años (y que la gente es perezosa), los datos son inconsistentes dentro de la celda. No tengo ninguna celda de referencia, y una vez que esta parte del proyecto esté completa, dividiré los datos en Saludo, Iniciales, Apellido, etc. Es en este punto que puedo comenzar a usar la automatización.
David Gard

Respuestas:


20

Puede hacer esto con la siguiente macro. Hará que su Excel se comporte como si golpeara F2cada vez que cambia las selecciones en la hoja de cálculo.

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

Presione Alt+ F11para abrir el editor de VBA, expanda la vista de árbol de la izquierda hasta que vea la hoja de trabajo que desea, haga doble clic en esa hoja de trabajo y pegue el código anterior allí.

Puede deshabilitar esto simplemente agregando 'delante de la línea de código para hacer un comentario como:

'SendKeys "{F2}"

O, supongo, eliminarlo por completo.


Esto también funciona muy bien si está utilizando enterpara mover celdas (lo cual sospecho que es su intención principal), ya que comenzará a editarlas de inmediato y le permitirá moverse mucho más rápido.


Por cierto, gracias por preguntar esto, voy a usar esto un poco, ¡ya que es mucho mejor para mucha manipulación de datos!
enderland

¡Perfecto! Esto es exactamente lo que quiero para este libro de trabajo, muchas gracias. La única rareza leve que he notado es que si uso 'Shift + Tab' para pasar de derecha a izquierda a través de las celdas, tengo que reprimir 'Shift' cada vez, en lugar de simplemente mantenerlo presionado.
David Gard

3
Tenga en cuenta que usar VBA de esta manera tiene sus inconvenientes. En particular, eliminará cualquier funcionalidad de Deshacer en la hoja. Entonces, si arruinas y eliminas algunos datos accidentalmente, será mejor que tengas una copia de seguridad. Además, las teclas de flecha ya no funcionan para navegar por la hoja.
Excellll

3
@Excellll tiene un excelente punto; su funcionalidad de deshacer se pierde. Para una macro tan simple, no parece que valga la pena. Considere usar AutoHotKey en su lugar: puede decirle que presione F2 después de Enter, Shift-Enter, Tab o Shift-Tab. (Y puede asegurarse de que solo funcione en Excel también.)
benshepherd

19

Puede ingresar al modo de edición desde el teclado mediante la F2tecla, o puede crear una macro VB que tenga una ventana emergente / solicitud. Aunque estrictamente hablando, no hay ninguna opción que conozca para permanecer en F2modo, podría escribir un pequeño script en Excel que baje una fila y avance a la celda (luego haga que esta macro reemplace su "retorno / pestaña" a una nueva columna) .

Editar: Otra opción sería administrar estas ediciones a través de un programa diferente con una interfaz de usuario más accesible para este tipo de datos. Por ejemplo, inserte todos estos datos en un programa de base de datos como Access, luego administre los campos de datos a través de su IU.

Sin embargo, todo esto evita el problema principal, ¿por qué hay 10.000 filas de datos que requieren limpieza manual? Si escribir un solo guión para gobernarlos a todos es demasiado engorroso, ¿por qué no dividir la tabla en grupos significativos y abordarlos de esa manera? Es difícil imaginar que 10.000 campos de datos deben procesarse manualmente y no hay una solución alternativa.


1
Gracias por el consejo F2, eso ayuda. Intentaré sobrescribir las teclas de retorno / tabulación para esta hoja de cálculo con esa función. Gracias.
David Gard

@DavidGard no hay problema. También actualicé mi respuesta con una tercera alternativa que puede funcionar para usted.
Moisés

3
+1...why is there 10,000 rows of data that require manual cleaning?
Icode4food

7

La única manera que sé es presionando F2. Eso funciona todo el tiempo, hasta que presione Return/ Enterpara salir de la celda actual.


2

Una posible respuesta sería un programa llamado "Botón central del mouse (o rueda) para hacer doble clic". Está disponible en codeproject. No sé si debo publicar enlaces aquí, pero estoy seguro de que Google puede ser tu amigo. lo que hace es que mientras esté activo, puede hacer clic con el botón central del mouse y enviará un doble clic izquierdo a su computadora.


0

Presionar "F2" es posiblemente la mejor opción, aunque no permanecerá en modo de edición. Si conoce las ediciones que desea realizar, buscar / reemplazar (Ctrl + F) también es muy útil y puede ahorrarle mucho tiempo. Además, puede encontrar una lista de más de 200 métodos abreviados de teclado de Excel aquí .


0

seleccione la columna completa y use buscar y reemplazar. simplemente ponga un espacio vacío en buscar y reemplazar, luego se actualizará, de esta manera puede engañar a Excel y funciona


0

Prueba la fórmula = concatenar. Unir información de dos celdas juntas. Entonces podría copiar y pegar valores.


0

Verifique los parámetros de formato de celda ... si la celda tiene una marca de verificación oculta en la pestaña de protección, no le dará la opción de editar el texto escrito de la celda. la casilla de verificación debe estar desmarcada para ver el contenido del cuadro y editarlo según lo necesite.


Esto realmente no responde lo que se preguntó en la pregunta. Con un poco más de representación, podrá agregar información útil en un comentario.
Fixer1234

0

Esta fue la solución más fácil que funcionó para mí.

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

  1. Primero cambie su formato a la fecha específica que desea para su columna de datos.
  2. Con la columna seleccionada, seleccione "Copiar"
  3. Bloc de notas abierto (NO PALABRA, tiene que ser bloc de notas)
  4. Pegue sus datos en el bloc de notas.
  5. En el bloc de notas, presione CTRL + A (selecciona todas las celdas) y luego presione CTRL + C (copia datos)
  6. Pegue los datos nuevamente en Excel.
  7. Dirá algo sobre que el tamaño no es el mismo, péguelo de todos modos.

0

Si está editando las celdas sin fórmula o algo que solo se puede hacer en Excel, simplemente copie estas celdas y péguelas como columnas o tabla normales en un documento de Word. Edite los datos en esa tabla libremente y luego vuelva a copiarlos directamente al lugar original en Excel.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.