una ultimo tiene texto sale que precedido porque por numeros numero formato fecha esta escribo escribir deja convertir como celda cambia apostrofe almacenado excel text formatting excel-2007 autocorrect

ultimo - Evite que Excel cambie el contenido de la celda, nunca



numero almacenado como texto convertir a numero (16)

Trabajo con números de tarjeta, como tarjetas de crédito y números de identificación. No hacemos ningún cálculo con números de tarjeta, obviamente. Ellos son "texto".

Los formato como texto, los tipeo como texto. Sé cómo funciona eso. A Excel no le importa Los números de tarjeta de 16 dígitos hacen que su último dígito se convierta en un cero, se cambia a notación científica, cosas estúpidas que no le dije a Excel que hiciera.

Necesito hacer cosas como Buscar / Eliminar espacios de las celdas de los archivos descargados de nuestro sistema web actualmente imperfecto. El sistema me envía archivos con números de 16 dígitos, celdas formateadas como texto, pero debido a errores hay espacios al final. Yo busco / elimino todos los espacios y todos los números de mi tarjeta se transforman en notación científica y el último dígito se convierte en 0. SON TEXTO, están formateados como texto, le grité a la pantalla que son texto, ¿por qué Excel se niega? para reconocer que son texto? (Prefiero encontrar una manera de detener la acción de Excel que buscar la forma de decirle a nuestros programadores que pongan un apóstrofo en cada celda)

¿Cómo lo hago para que Excel simplemente deje de hacer algo que yo no le digo que haga? O al menos evitar que haga algo con los números que no le gustan. Tal vez pueda escribir una macro para cuando descubra "Uhoh, debería cambiar ese número a algo diferente". Haré que formatee esa celda para enviar un mensaje de texto mil veces.

Dame un error cuando intento calcular con un número mayor a 15 dígitos, hacer que mi computadora explote violentamente, está bien. Solo deja de cambiar los números.

¿Es posible? Tengo muchos miles de números que deben cambiar en muchos escenarios diferentes. Solo quiero evitar que intente ayudar. No puedo entender por qué eso sería difícil. Tengo 2007, pero las respuestas para otras versiones también serían excelentes.


Esta es una "característica" de Excel que no se puede cambiar ni desactivar. Si los programadores han logrado eliminar los espacios de los números de las tarjetas de crédito, estoy seguro de que pueden manejar agregar un apóstrofo al frente de la cadena.


Ya sea

  • formatee las celdas como texto (Formato, Celdas, Texto)
  • prefijo el número con a ''(comilla simple)

Ambos funcionan igual de bien para mí.

Edición: Probé reemplazando espacios por nada en esos "números de texto", y de hecho, se convierten en números.

Prueba Google para "regex excel". Hay formas de usar expresiones regulares en Excel, y eso le permitiría fácilmente prefijar los números de su tarjeta de crédito con una sola cotización.
Másfunc


Aquí hay una macro que podría hacer lo que quieras

Sub SafeFindAndReplace() Dim rCell As Range For Each rCell In ActiveSheet.UsedRange.Cells If InStr(1, rCell.Text, " ", vbBinaryCompare) > 0 Then If rCell.NumberFormat = "@" Then rCell.Value2 = CStr(Replace(rCell.Text, " ", "")) End If End If Next rCell End Sub

Asegúrate de probarlo con una copia de tus datos, no de los elementos en vivo, para asegurarte de que funciona.

O según los comentarios, puede hacerlo solo en las celdas seleccionadas. Mejor si tienes rangos realmente grandes y solo lo necesitas en un subconjunto más pequeño.

Sub SafeFindAndReplaceSelection() Dim rCell As Range If TypeName(Selection) = "Range" Then For Each rCell In Selection.Cells If InStr(1, rCell.Text, " ", vbBinaryCompare) > 0 Then If rCell.NumberFormat = "@" Then rCell.Value2 = CStr(Replace(rCell.Text, " ", "")) End If End If Next rCell End If End Sub


Tuve este problema y pegar en la comilla simple muestra la cita y el formato porque el texto no funciona porque cambia los valores a medida que se pegan. Lo que funcionó para mí es pegarlo con la cita única anterior todo lo que muestra la comilla simple y luego hacer un reemplazo todo reemplazando todas las comillas simples con comillas simples. Parece raro, pero es la forma más rápida de lidiar con el pegado de datos en Excel 2007.


Abra el archivo Excel desde la aplicación (no haciendo doble clic en el archivo).

Luego seleccione el archivo, pero en lugar de hacer clic en el botón Abrir, haga clic en la pequeña flecha al lado y seleccione "Abrir y reparar", luego haga clic en el botón "Reparar" y aparecerá el asistente de importación de texto, siga el asistente y asegúrese de seleccionar Texto para el formato de datos de columna en el paso 3 del asistente.


Perdón por revivir este viejo tema, pero si alguien más lo encuentra, podría ser de ayuda.

Tuve el mismo problema. Una columna en nuestra base de datos contiene números como:

111206,1 111206,2 .. .. 111206,10 111206,11

y también fechas en un formato extraño. Baste decir que es un PITA MAYOR pegar eso en Excel. También hice cosas como gritar en mi pantalla, pero parece que Microsoft sigue ignorando esa entrada de usuario muy útil. (En otra nota: yo voto por el registro aftertouch en el teclado - si presiona ENTER con más del 80% de la fuerza máxima, debería omitir cualquier diálogo de confirmación y ejecutar el modo "solo f *! @ # DO DO IT" del comando elegido . Eso significaría un gran avance en la amistad de superusuario en mi humilde opinión.)

De todos modos, un colega me señaló la opción "Pegado especial". Haga clic con el botón derecho en una celda de Excel, elija Pegado especial y elija Texto. Y listo.

Rara vez me he sentido tan estupefacto :)


Formato, celdas, texto, clic con el botón derecho, Pegado especial, valores

o

Pegar Formato, celdas, texto, clic derecho, pegar especial, valores


Si está intentando copiar datos desde otro lugar, pruebe Pegar especial y elija como texto. Debería conservar su formato original


He encontrado una solución. Resalta la columna en cuestión. Haga clic con el botón derecho y elija Formato de celdas. Elija Personalizado y luego elija un único 0 (cero). Hará que toda tu columna esté exactamente como la desees.


A menudo tengo que volcar datos de MySQL como un csv. Siempre que se abra una csv, creada por otro programa, con Excel, si hay más de 15 dígitos en un campo, Excel insiste en la conversión a notación científica. Para evitar esto, decidí importar mi archivo csv exportado a una hoja de cálculo de Google Docs. Luego guardé la hoja de cálculo de Google Docs como un archivo de Excel, y listo, no más notación científica.

Ahora, voy a hacer esta tarea a mano con Excel, pero cuando termine, voy a ver si puedo lograr todo lo que necesito hacer en la hoja de cálculo de Google Docs de la manera más eficiente posible con Excel. ¡quizás no tenga que lidiar con que Excel sea "útil" nunca más!


De acuerdo con algo que leí para los códigos postales que usaban un formato personalizado de 00000-0000, intenté crear un formato personalizado de 0000000000000000. Convirtió la notación científica a 16 dígitos.


Lo más simple de todo es copiar al Bloc de notas e insertar una nueva celda o formato como texto y luego copiar los datos desde el Bloc de notas a la hoja de cálculo de Excel.


Incluso el formateo como texto, usando ''0'' o ''#'' no funcionó para mí con números de más de 15 dígitos en excel 2007.

Tuve que hacer clic en el botón de la aplicación (icono de la oficina en la esquina superior izquierda de la cinta), hacer clic en Opciones de Excel, ir al submenú Fórmulas y en la sección ''reglas de verificación de errores'' a la derecha, desmarcar ''Números formateados como texto o precedido por un apóstrofo ''.

Al usar la opción #, los datos se cortaron después del décimo quinto dígito: todo después del día 15 se convirtió en cero, lo cual es inaceptable.


Ningún formato en excel funcionará, parece. Aquí hay un código visual básico para hacerlo:

Sub Format_CSV() ''Go to the top cell of the column that you wish to format as text with no scientific notation hassle and then run this macro. Assign a shortcut key to make your life easier ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select Selection.Insert Shift:=xlToRight Selection.NumberFormat = "@" ActiveCell.Offset(0, -1).Range("A1").Select Dim ConvertToText As String Dim StartStop As Variant StartStop = ActiveCell Do While StartStop <> "" ConvertToText = ActiveCell ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = ConvertToText ActiveCell.Offset(1, -1).Range("A1").Select StartStop = ActiveCell Loop ActiveCell.Columns("A:A").EntireColumn.Select Selection.Delete Shift:=xlToLeft End Sub


Siempre tuve el mismo problema, y ​​todas las soluciones parecían ser demasiado complejas y no funcionaron. Envío paquetes a mis clientes usando USPS y obtengo un número largo que no se puede pegar en Excel sin convertirlo a una fórmula si se copia directamente. Intenté formatear las columnas en Texto, pero cuando copié los datos, siempre se convertían nuevamente.

Entonces noté que el truco es este:

  • Formatea la columna o quieres tener los números como texto.
  • Seleccione solo la primera celda y no toda la columna o área donde desea los datos; este fue mi error todo el tiempo, ya que siempre dejé toda el área seleccionada.
  • A continuación, haga clic derecho y seleccione Pegar como texto .

¡He estado luchando con esto por años hasta que finalmente lo conseguí trabajando! Ahora puedo copiar directamente desde USPS sin tener que copiar a Word, transformarlo en texto sin formato y poner caracteres extraños delante de cada número antes de pegar en Excel.


Encontré una manera de mantener los números en formato de texto, incluso al pegar varias celdas. Estoy usando Excel 2010.

  1. Seleccione el rango de celdas y use Formato - Personalizado. Aplicar (el símbolo "at") @ como el formato.
  2. Seleccione sus valores del archivo fuente.
  3. Haga clic con el botón derecho en el rango para pegar (o solo en la esquina superior izquierda), y en Opciones de pegado, seleccione Coincidir con el formato de destino.

Estoy de acuerdo en que es increíblemente estúpido que ahora tengamos que pasar por el arcén para hacer tantas cosas en Office que solían ser más fáciles.