Attualmente mi trovo di fronte a un problema che mi preoccupa molto. Spero che qualcuno possa darmi una mano. Lavoro per una grande azienda in cui sono utilizzati Office 2007 (32 bit) e Office 2010 (64 bit). Scrivere dei macro per essere compatibili attraverso l'intera compagnia è stato un compito difficile per me (non ho mai programmato in VBA prima d'ora - in realtà questo forum mi ha aiutato molto). Il mio compito è di mantenere una grande tabella in un foglio Excel condiviso. Esistono diverse macro e diverse userform. Ora descriverò brevemente il problema: Foglio contiene due colonne con formato di data (data di inizio e data di chiusura). Entrambi i valori vengono importati nelle caselle di testo della forma utente della colonna (commandbutton preme MsCal -esportato in classe- che riempie quelle caselle di testo con data). Quello di cui ho semplicemente bisogno è di avere il formato della data come mm/gg/aaaa in entrambe le colonne per poter eseguire il filtraggio e altre operazioni. Quando questi valori vengono aggiornati da worker che utilizza una localizzazione diversa dalla data inglese degli Stati Uniti, viene immessa come gg.mm.aaaa. Questo rende impossibile il corretto filtraggio in base alla data. Ho provato a modificare la formattazione tramite:Stesso formato della data su più localizzazioni
UserForm1.TextBox10.Value = Format(Calendar1.Value, "mm/dd/yyyy")
ma questo pezzo di codice si comporta in qualche modo. Su alcune macchine funziona, su alcune di esse non funziona. E questo è quello che mi sta facendo venire il mal di testa. Come dovrei procedere ora? C'è un modo per forzare Excel ad usare lo stesso formato data nel foglio e ignorare le impostazioni di localizzazione in Windows? I dipendenti non desiderano cambiare la localizzazione negli Stati Uniti d'America perché sono abituati al loro formato o ne hanno bisogno per altre applicazioni. C'è un modo per modificare temporaneamente la localizzazione solo quando questo foglio si apre? Qualsiasi consiglio sarà apprezzato. Grazie in anticipo Peter
Una data in una cella di Excel deve essere una data e non una stringa. Se si imposta il formato della cella su un formato data preceduto da un asterisco * (che di solito è le prime 2 opzioni nell'opzione Formato celle/data), la data cambierà in base alla formattazione della data locale dell'utente. La cella sottostante tuttavia è ancora un numero datario che dovrebbe essere utilizzabile indipendentemente dal formato. Se è necessario inserire date in una casella di testo o convertire stringhe in date, si tratta di una questione diversa e è necessaria una gestione aggiuntiva. Vedi http://stackoverflow.com/questions/12495504/how-to-convert-a-string-into-date/12497237#12497237 – user3357963
@PeterT. Nella tabella, la colonna delle date è formata come testo o come date? – CaBieberach
Formato come data – PeterT