Frage

ich bin Automatisierung excel, das Makro-System als Leitfaden zu dem, was ich durch Automatisierung tun soll. Wenn ich eine Spalte als Datum formatiert werden, erzeugt das Makro eine NumberFormat für die Spalte zu sein:

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

ich versuche, zu entziffern, was das wirklich bedeutet. i sammeln von googeln , dass die Werte in den eckigen Klammern sind eine "Bedingung" , und dass, wenn die Bedingung:

$-409

erfüllt ist, dann wird es die NumberFormat verwenden

m/d/yy h:mm AM/PM

Wenn nicht, verwendet es die NumberFormat

@

Die Referenzen finde ich sagen, dass das Zahlenformat "@" ist ein Text Platzhalter

Also meine Fragen sind:

  1. Was die bedingte ist $ - 409 Testen? Vergleicht sie etwas gegen -409 (dh negativ 409 ), und wenn ja, was ist der Dollarzeichen es den Vergleich gegen?

  2. Wenn die bedingte ausfällt, und es greift auf den Text Platzhalter "at-Zeichen", was es so nicht zeigen?

War es hilfreich?

Lösung

Um zu klären, was andere gesagt haben:

Die [$ -409] ist ein locale Code, in hexadezimal angegeben. ein Datum mit einem bestimmten locale Code prefixing bestimmt, was angezeigt wird, wenn Sie den verschiedenen Datum Zeitformat-Codes verwenden. Zum Beispiel mit dem Datum

  

28. November 1973 11.28.13

als ein Beispiel für die folgende Tabelle:

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

Also am Ende des gleiche Format-Code mit zwei verschiedenen Gebietsschemabezeichner, gibt unterschiedliche Ergebnisse:

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

Da eine Liste von locale-Codes zu finden, wie ist Zähne ziehen, sind hier einige Referenzen:

Language Identifier Konstanten und Strings ( primäre Quelle, archive.is )

Windows-Locale Codes Sortiert nach Locale (< a href = "https://archive.fo/Y1mxi" rel = "nofollow noreferrer"> archive.is )

Windows-Locale Codes Sortiert nach Locale < em> ( archive.org , archive.is )

Andere Tipps

Naaf und Grant Wagner haben ordentlich die Frage zu Ihrer $-409 beantwortet, so dass ich nur in dem fehlenden Teil füllen:

Die ‚@‘ nach dem Semikolon sagt Excel, wie die Daten zu behandeln, wenn Sie eine Zeichenfolge statt ein gültiges Datum eingeben. Die @ bedeutet einfach "stellt einen beliebigen Text hier, wörtlich".

Einige kurze Beispiele den Punkt zu veranschaulichen:

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


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

Siehe diesen Artikel für eine detaillierte Beschreibung des Textes Formatierungsoptionen.

Dieser Beitrag es erklärt. Grundsätzlich 409 ist die Landid für „Englisch - USA“. Wenn Sie [$-414] verwendet, zum Beispiel, würde das Datum für das formatiert werden „Norwegian (Bokmål)“ statt.

Meine Vermutung für Frage (2) besteht darin, dass die Rohdaten als String dargestellt werden würden stattdessen formatiert zu werden. Ein schneller Test würde dies überprüfen.

[$-409] scheint kein Zustand zu sein. Es scheint ein Locale-Code zu sein.

Wenn ich formatieren eine Zelle mit einem Benutzerdefinierte Format [$-409]m/d/yy h:mm AM/PM;@, geben Sie ein Datum: 1/1/9, zeigen Sie dann die Formatierung für die Zelle, sehe ich eine Datum Format von m/d/yy h:mm AM/PM mit einer Locale (location) von English (United States).

Wenn Sie das Format so etwas wie [$-439]m/d/yy h:mm AM/PM;@ ändern werden Sie die Inhalte der Zelle in einer anderen Sprache sehen.

Ich bin nicht sicher über @. Es könnte darauf hindeuten, wie das Datum angezeigt, wenn die richtige Schriftart oder locale nicht verfügbar ist.

Hier ist die Liste der Locale IDs Assigned von Microsoft .

Es ist ein Fehler in Excel 2007, die alle allgemeinen Formate zu einem [-409 $] geben Sie Datumsformat ändert.
Normalerweise Verwendung des [$ -409] ist ein in Ordnung Format.
Es gibt keine Lösung für den Bug noch von Microsoft zur Verfügung gestellt. Dieser Fehler geschieht in der Regel in großen und gemeinsamen Excel-Dateien.

Wenn Sie jemals die Erfahrung haben, wo alle Ihre allgemeinen Formate ändern Sie die Daten versuchen gehen Styles to Cell, rechts auf normale klicken und wieder normal zu allgemeinen ändern. Es wird Ihnen in der Box sagen, den Formattyp für Normal. Das ist der Fehler, wie es sollte in der Regel ‚allgemein‘ sein nicht einige verison von [$ -409].

beenden ich das Format aus der Arbeitsmappe vollständig löschen Atomen. Die Arbeitsmappe muss ungeteilt sein, dies zu tun. Um das Format [$ -409] zu löschen oben unter „Normal“ Zelltyp aus der Arbeitsmappe identifiziert, Rechtsklick auf eine Zelle, wählen Sie Benutzerdefiniert, blättern, bis Sie die [$ -409] Formattyp oben identifizierten finden, löschen Sie alle Formate kehrt zurück zu dem, was allgemein genannt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top