Funzione TEXT Excel: comportamento dipendente dall'utente della formattazione della data


0

Siamo su un ambiente Citrix / Windows 2008R2 standardizzato con Impostazioni regionali impostate su Olandese per tutti gli utenti e Excel 2010 in lingua inglese per tutti gli utenti. Tuttavia, il comportamento della funzione TESTO durante la formattazione delle date dipende dall'utente.

La formattazione della data in inglese e olandese differisce solo nell'anno (giorno e mese sono "d" e "m" in entrambe le lingue). Come previsto, con le nostre impostazioni regionali olandesi, "jjjj" è il codice di formattazione per visualizzare l'anno. Per la maggior parte degli utenti, funziona perfettamente: = TEXT (OGGI (); "gg / mm / jjjj") visualizza "03/05/2017".

Tuttavia, quando alcuni utenti aprono il foglio di lavoro contenente questa funzione di testo, ottengono "03/05 / jjjj", come se le loro impostazioni internazionali fossero impostate sull'inglese. Ma quando controllo le loro Impostazioni internazionali, sono impostate su Olandese, come previsto. Né posso scoprire altre impostazioni relative alla lingua o alle impostazioni locali diverse per questi utenti.

Ora pensavo che le Impostazioni regionali fossero l'unico fattore determinante nel comportamento della stringa di formattazione nella funzione TEXT. Ma a quanto pare, ce ne sono di più, e quelli sono dipendenti dall'utente, cioè memorizzati in HKCU. Inoltre, poiché i miei utenti sembrano essere in grado di modificarli inconsapevolmente, queste impostazioni aggiuntive sono accessibili tramite l'interfaccia utente.

Dove altro che nelle Impostazioni internazionali è determinato il comportamento della formattazione della data nella funzione TESTO?


oltre alle impostazioni regionali anche le impostazioni della lingua di Office possono influenzare la lingua delle funzioni, le hai confrontate anche tu?
Máté Juhász,

Sì, Maté, buon punto. Sto verificando quelli con il mio utente la prossima settimana. Penso che abbiamo bloccato quelli tramite GPO.
FMK,

Risposte:


0

Due cose che mi vengono in mente sono:

1) Puoi semplicemente inserire la data e formattare quella specifica cella / intervallo nel formato "data breve".

2) Se non sei contrario all'utilizzo di un po 'di VBA, potresti eseguire un sub Workbook_Open()dall'evento che formatta la cella. VBA utilizza l'inglese a prescindere, quindi:

Sheets("Foo").Range("A1").NumberFormat = "dd/mm/yyyy"

funzionerebbe indipendentemente dalle impostazioni internazionali del client.


Grazie, Macro Man. In realtà ho creato una soluzione diversa: =TEXT(TODAY();"dd-mm-")&YEAR(TODAY()). Tuttavia, sto cercando una spiegazione e una correzione per la causa principale. Ciò non dovrebbe accadere affatto nel nostro ambiente standardizzato.
FMK,

Sfortunatamente la stringa di formato dipende anche dalla lingua.
Tamas Hegedus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.