Domanda

sto automatizzando Excel, utilizzando il sistema macro come guida su cosa dovrei fare attraverso l'automazione.Quando formatto una colonna come data, la macro ha generato a NumberFormat affinché la colonna sia:

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

sto cercando di decifrare cosa significhi veramente.io raccolgo da Google, che i valori tra parentesi quadre sono a "condizione", e che se la condizione:

$-409

è soddisfatto, utilizzerà il file NumberFormat

m/d/yy h:mm AM/PM

in caso contrario, utilizza il file NumberFormat

@

I riferimenti che trovo dicono che il formato numero "@" è a Segnaposto di testo

Quindi le mie domande sono:

  1. Qual è il condizionale $-409 prova?Sta confrontando qualcosa con -409 (cioè. meno quattrocentonove), e se sì, qual è il file simbolo del dollaro si sta confrontando?

  2. Se il condizionale fallisce e si ricorre al Segnaposto di testo "at-sign", come viene visualizzato?

È stato utile?

Soluzione

Per chiarire cosa hanno detto gli altri:

Il [$-409] è un locale codice, espresso in esadecimale.Il prefisso di una data con un determinato codice locale determina cosa viene mostrato quando si utilizzano i vari codici di formato data/ora.Ad esempio utilizzando la data

28 novembre 1973 11:28:13

come esempio per la seguente tabella:

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                           上午

Quindi alla fine lo stesso codice di formato con due identificatori locali diversi fornisce risultati diversi:

[$-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 上午

Poiché trovare un elenco di codici locali è come cavare un dente, ecco alcuni riferimenti:

Costanti e stringhe di identificatori di lingua (Fonte primaria, archivio.is)

Codici locali di Windows ordinati per locale (archivio.is)

Codici locali di Windows ordinati per locale (archivio.org, archivio.is)

Altri suggerimenti

Naaf e Grant Wagner hanno ordinatamente risposto alla domanda circa il vostro $-409, quindi mi limiterò a riempire la parte mancante:

Il '@' dopo il punto e virgola indica a Excel come trattare i dati se si immette una stringa invece di una data valida. Il @ significa semplicemente "inserire qualsiasi testo, qui, testualmente".

Alcuni esempi veloci per illustrare il punto:

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

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

questo articolo per una descrizione dettagliata del testo opzioni di formattazione.

Questo post lo spiega. Fondamentalmente 409 è il locale ID per "Inglese - Stati Uniti". Se è stato utilizzato [$-414], per esempio, allora la data sarebbe stata formattata per "Norvegese (Bokmål)", invece.

La mia ipotesi per la domanda (2) è che i dati grezzi sarebbe presentato come una stringa invece di essere formattato. Un test rapido sarebbe verificare questo.

[$-409] non sembra essere una condizione.Sembra essere un codice locale.

Se formatto una cella con a Costume formato di [$-409]m/d/yy h:mm AM/PM;@, inserisci una data: 1/1/9, quindi visualizza la formattazione della cella, vedo a Data formato di m/d/yy h:mm AM/PM con un Località (località) Di English (United States).

Se cambi il formato in qualcosa di simile [$-439]m/d/yy h:mm AM/PM;@ vedrai il contenuto della cella in un'altra lingua.

Non ne sono sicuro @.Potrebbe indicare come visualizzare la data se il carattere o la lingua corretta non è disponibile.

Ecco l'elenco di ID internazionali assegnati da Microsoft.

C'è un bug in Excel 2007 che cambia tutti i formati generale ad un [$ -409] digitare formato della data.
Normalmente, l'uso del [$ -409] è un formato a posto.
Non v'è alcuna correzione per il bug ancora fornito da Microsoft. Questo bug si verifica normalmente in grandi e condivise cartelle di lavoro Excel.

Se avete mai avuto l'esperienza in cui tutti i formati generali cambiare per provare ad andare date to Cell Styles, Destra cliccando su Normale e la modifica normale di nuovo al generale. Vi dirà nella casella del tipo di formato per la Normale. Questo è il bug come in genere dovrebbe essere 'generale' non qualche verison di [$ -409].

Ho finito per dover eliminare il formato dalla cartella di lavoro del tutto. La cartella di lavoro deve essere non condiviso per fare questo. Per eliminare il formato [$ -409] sopra identificato sotto il tipo di cellula "Normale" dalla cartella di lavoro, fare clic destro su una cella, selezionare Personalizza, scorrere fino a individuare il tipo di formato [$ -409] sopra indicato, eliminare quindi tutti i formati tornerà di nuovo a quello che viene chiamato generale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top