Pregunta

Estoy automatizar Excel, utilizando el sistema de macro como una guía de lo que debería hacer a través de la automatización. Cuando i formato a una columna como una fecha, la macro genera un NumberFormat para la columna a ser:

[$-409]m/d/yy h:mm AM/PM;@

Estoy tratando de descifrar lo que esto significa realmente. tengo entendido de googlear , que los valores de los corchetes son un "condición" , y que si la condición:

$-409

se cumple, entonces se usará la NumberFormat

m/d/yy h:mm AM/PM

si no, se utiliza el NumberFormat

@

Las referencias que encuentro dicen que el formato de número "@" es un texto de marcador de posición

Así que mis preguntas son:

  1. ¿Cuál es el condicional $ - 409 las pruebas? ¿Está comparando algo en contra de -409 (es decir, cuatro negativo centenar de y de nueve ), y si es así, ¿cuál es el signo del dólar Es la comparación contra?

  2. Si el condicional falla, y se recurre a la texto de marcador de posición "arroba", lo que hace que se muestre como?

¿Fue útil?

Solución

Para aclarar lo que han dicho:

El [$ -409] es un local código, en hexadecimal. Anteponiendo una cita con un cierto código de configuración regional determina lo que se muestra cuando se utiliza los diversos códigos de formato de fecha y hora. Por ejemplo, usando la fecha

  

28 de de noviembre de, 1973 11:28:13 AM

como un ejemplo para la siguiente tabla:

Format Code  409 (English United States)  804 (Chinese PRC)
===========  ===========================  =================
m            11                           11
mm           11                           11
mmm          Nov                          十一月
mmmm         November                     十一月
d            27                           27
dd           27                           27
ddd          Mon                          二
dddd         Monday                       星期二
y            73                           73
yy           73                           73
yyy          1973                         1973
yyyy         1973                         1973
AM/PM        AM                           上午

Así que al final el mismo código de formato con dos identificadores de configuración regional diferentes, da resultados diferentes:

[$-409]mmmm dd yyyy  h:mm AM/PM
November 27 1973  11:28 AM


[$-804]mmmm dd yyyy  h:mm AM/PM
十一月 27 1973  11:28 上午

Desde la búsqueda de una lista de códigos de configuración regional es como hablarle a la pared, aquí hay algunas referencias:

lenguaje Constantes identificador y Cuerdas ( fuente primaria, archive.is )

códigos de configuración regional de Windows Ordenados por Locale (< a href = "https://archive.fo/Y1mxi" rel = "nofollow noreferrer"> archive.is )

códigos de configuración regional de Windows Clasificación por Locale < em> ( archive.org , archive.is )

Otros consejos

Naaf y Grant Wagner han respondido perfectamente a la pregunta acerca de su $-409, así que voy a llenar la parte que falta:

El '@' después del punto y coma indica a Excel cómo tratar los datos si se introduce una cadena en lugar de una fecha válida. El @ simplemente significa "colocar cualquier texto aquí, palabra por palabra".

Algunos ejemplos rápidos para ilustrar el punto:

=TEXT("abc","hh:mm;@")
abc


=TEXT("abc","hh:mm;@@")
abcabc

este artículo para una descripción detallada del texto opciones de formato.

Este post lo explica. Básicamente es la 409 local ID para "Inglés - Estados Unidos". Si utilizó [$-414], por ejemplo, la fecha podría ser formateado para "Noruego (Bokmal)" en su lugar.

Mi conjetura para la pregunta (2) es que los datos en bruto se presentan como una cadena en lugar de ser formateado. Una prueba rápida sería verificar esto.

[$-409] no parece ser una condición. Parece ser un código de configuración regional.

Si puedo dar formato a una celda con un Personalizado formato de [$-409]m/d/yy h:mm AM/PM;@, introduzca una fecha: 1/1/9, a continuación, ver el formato de la celda, veo un Fecha formato de m/d/yy h:mm AM/PM con un Locale (ubicación) de English (United States).

Si cambia el formato a algo así como [$-439]m/d/yy h:mm AM/PM;@ verá el contenido de la celda en otro idioma.

No estoy seguro acerca de @. Se podría indicar cómo mostrar la fecha si la fuente o el entorno local correcto no está disponible.

Aquí está la lista de identificadores de configuración regional asignado por Microsoft .

Hay un error en Excel 2007 que cambia todos los formatos generales a un formato de fecha [$ -409] tipo.
Normalmente, el uso de la [$ -409] es un formato bien.
No hay una solución para el insecto todavía proporcionada por Microsoft. Este error ocurre normalmente en grandes y compartidos los libros de Excel.

Si alguna vez tiene la experiencia en la que todos sus formatos generales para cambiar las fechas trate de ir a la celda de estilos, haga clic en Normal y modificar de nuevo a la normalidad general. Se le informará en el cuadro el tipo de formato para Normal. Este es el error, ya que por lo general debe ser 'general' no un verison de [$ -409].

terminé tener que eliminar el formato del libro en su totalidad. El libro debe dejar de ser compartido para hacer esto. Para eliminar el formato [$ -409] identificado anteriormente en el tipo de célula "normal" del libro, haga clic derecho en una celda, seleccione Personalizado, de desplazamiento hasta que encuentre el tipo de formato [$ -409] identificado anteriormente, a continuación, eliminar todos los formatos volverá de nuevo a lo que se denomina en general.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top