Excel-Zahlenformat: Was ist "[$-409]"?
ich bin die Automatisierung von excel mit dem makro-system als Führer zu dem, was ich tun sollte, durch automation. Wenn ich das format einer Spalte ein Datum, das makro generiert ein NumberFormat
für die Spalte:
[$-409]m/d/yy h:mm AM/PM;@
ich versuche zu entziffern, was dies wirklich bedeutet. ich nehme an,aus googeln, dass die Werte in den eckigen Klammern sind eine "Zustand", und dass, wenn die Bedingung:
$-409
erfüllt ist, dann wird es mit dem NumberFormat
m/d/yy h:mm AM/PM
wenn nicht, verwendet es die NumberFormat
@
Referenzen, die ich finden sagen, dass das Zahlenformat "@" ist ein Text-Platzhalter
Also meine Fragen sind:
- Was ist die bedingte $-409 testen? Ist es zu vergleichen etwas gegen -409 (d.h. negative vier hundert und neun), und wenn ja, was ist der dollar-Zeichen es den Vergleich gegen?
- Wenn die Auswertung fehlschlägt, und es resorts, die Text-Platzhalter "at-Zeichen", was zeigt es da?
wenn Sie die Beispiele für die datetime-Sie trat in die Zelle und wie Excel formatiert, das wäre hilfreich
Wie hast du über die Formatierung der Zelle, indem Sie das Datum, wenn Sie das makro aufgezeichnet? Ich habe nur versucht, die gleiche Sache, und der VBA-code erzeugt hatte keine bedingte Teil überhaupt.
Wie hast du über die Formatierung der Zelle, indem Sie das Datum, wenn Sie das makro aufgezeichnet? Ich habe nur versucht, die gleiche Sache, und der VBA-code erzeugt hatte keine bedingte Teil überhaupt.
InformationsquelleAutor Ian Boyd | 2009-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu klären, was die anderen gesagt haben:
[$-409] ist ein locale code, angegeben in hexadezimal. Vorangestellt wird ein Datum mit einem bestimmten Gebietsschema-code legt fest, was angezeigt wird, wenn Sie die verschiedenen Datums-Zeit-format-codes. Zum Beispiel mit dem Datum
als Beispiel für die folgende Tabelle:
Also am Ende das gleiche format code mit zwei verschiedenen Gebietsschema-IDS, gibt unterschiedliche Ergebnisse:
Da die Suche nach einer Liste von locale-codes ist wie Zähne ziehen, hier sind einige Hinweise:
Sprache Bezeichner, Konstanten und Strings (Primäre Quelle, Archiv.ist)
Windows-Gebietsschema-Codes, Sortiert nach Locale (Archiv.ist)
Windows-Gebietsschema-Codes, Sortiert nach Locale (archive.org, Archiv.ist)
yyyy-mm-dd hh:mm:ss AM/PM
dass die ersten mm steht für Monate, aber in der Sekunde, eine Minute? ^?^ich würde vermuten, Sie erkennen
yyyy
da in der Nähe ein, undhh
oderss
in der Nähe der anderen. /zuckenspecs vorsehen, dass, wenn "m" oder "mm" ist gleich nach "h" oder "hh" oder unmittelbar vor "s" oder "ss", dann wird es so interpretiert, Minuten, ansonsten ist der Monat.
Ich Frage mich, ob/wie dieses gilt auch für die stackoverflow.com/q/53948301/11683, wo die Gebietsschema-id zu sein scheint
,13
/130000
die nicht scheinen, Sinn zu machen auf den ersten Blick.Für eine vollständige Liste Gebietsschema-codes und Kalender-codes...schauen Sie sich meine Quellen auf diese Antwort (das ist etwas anderes)... stackoverflow.com/questions/54134729/...
InformationsquelleAutor Ian Boyd
Naaf und Gewähren Wagner haben ordentlich beantwortet die Frage über Ihre
$-409
, so werde ich füllen Sie einfach das fehlende Teil:Dem '@' nach dem Semikolon sagt Excel, wie Sie zu behandeln die Daten, wenn Sie eine Zeichenfolge eingeben, die anstelle einer gültigen Datum. Die
@
bedeutet einfach "irgendeinen text hier wörtlich".Einige schnelle Beispiele, um den Punkt zu illustrieren:
Sehen dieser Artikel für eine ausführliche Beschreibung der Optionen für die Textformatierung.
InformationsquelleAutor e.James
Dieser Beitrag , erklärt er. Im Grunde 409 ist die Gebietsschema-ID für "Englisch - USA". Wenn Sie
[$-414]
dann zum Beispiel das Datum formatiert "Norwegisch (Bokmål)" statt.Meine Vermutung für Frage (2) ist, dass die raw-Daten werden als ein string, statt formatiert. Ein quick-test würde dies überprüfen.
InformationsquelleAutor Naaff
[$-409]
scheint nicht zu sein ein Zustand. Es scheint eine Locale-code.Wenn ich das format einer Zelle mit einem Benutzerdefinierte format
[$-409]m/d/yy h:mm AM/PM;@
, geben Sie ein Datum ein:1/1/9
, dann die Formatierung für die Zelle, sehe ich eine Datum formatm/d/yy h:mm AM/PM
mit einem Gebietsschema (Standort) vonEnglish (United States)
.Wenn Sie das format ändern, um so etwas wie
[$-439]m/d/yy h:mm AM/PM;@
sehen Sie den Inhalt der Zelle in einer anderen Sprache.Ich bin mir nicht sicher über
@
. Es könnte darauf hindeuten, wie um das Datum anzuzeigen, wenn die richtige schriftart oder-Gebietsschema nicht verfügbar.Hier ist die Liste der Gebietsschema-IDs Zugeordnet, die von Microsoft.
InformationsquelleAutor Grant Wagner
Gibt es einen bug in Excel 2007, die änderungen alle Allgemeinen Formate [$-409] geben Sie Datum-format.
Normalerweise verwenden Sie das [$-409] ist ein okay-format.
Es gibt kein Update für den Fehler noch von Microsoft bereitgestellt.
Dieser Fehler geschieht in der Regel in Großen und verteilten Excel-Arbeitsmappen.
Wenn Sie jemals die Erfahrung haben, wo Sie alle Ihre Allgemeine Formate ändern, um Termine versuchen werde Zellenformate der Rechten Maustaste auf Normal und ändern normal zurück zu allgemein. Es wird Ihnen sagen, in der box das format für Normal. Dies ist der bug, wie es normalerweise sein sollte "Allgemeinen", nicht irgendeine Version von [$-409].
Landete ich mit löschen Sie das format aus der Arbeitsmappe vollständig. Die Arbeitsmappe muss aufgehoben werden, dies zu tun. Zum löschen des Formats [$-409] identifiziert, die Sie oben unter dem "Normalen" Zelle Typ aus der Arbeitsmappe mit der Rechten Maustaste auf eine Zelle, wählen Sie Benutzerdefiniert aus, scrollen Sie, bis Sie finden, das [$-409] - format geben Sie oben gekennzeichnet ist, löschen Sie dann alle Formate zurück zu dem, was als Allgemeine.
Techincally
-0409
ich nur den Sprachcode. Wenn Sie möchten, um das Datumsformat zu ändern, dann müssen Sie die Kalender-code, der anders ist. Schauen Sie sich meine Antwort auf diese ein - stackoverflow.com/questions/54134729/...InformationsquelleAutor Jeff Taplett