Traduci foglio Excel con VBA + TRANSLATE()
Traduci automaticamente un intero foglio Excel usando VBA e la funzione integrata =TRANSLATE().
Se hai mai avuto bisogno di tradurre un intero foglio di lavoro (fattura, lista prodotti, lista di imballaggio, ecc.) senza rovinare il layout, questo approccio funziona bene:
- Mantieni il tuo foglio originale intatto
- Crea un nuovo foglio "tradotto" con la stessa formattazione
- Usa la funzione integrata
=TRANSLATE()di Excel per tradurre automaticamente ogni cella di testo
=TRANSLATE() è una funzione Excel basata su cloud alimentata da Microsoft Translator. Richiede una connessione Internet. È disponibile in Excel per Microsoft 365 (incluso Mac), Excel per il web e mobile, ma potrebbe non esistere ancora in alcune build/canali.
Prima di iniziare: conferma che =TRANSLATE() esiste nel tuo Excel
In qualsiasi cella, prova:
=TRANSLATE("hello","en","it")Se ottieni #NAME?, la tua versione di Excel non ha ancora la funzione. Microsoft indica che è supportata su Microsoft 365 / web / mobile ed è basata su servizio.
È stata anche introdotta come nuova funzione tramite i canali Microsoft 365 Insider, quindi la disponibilità può dipendere dal canale di aggiornamento/rollout.
Cosa costruirai
Una macro VBA che:
- Crea una copia del tuo foglio attivo
- Traduce tutte le celle di testo usando la funzione
=TRANSLATE() - Preserva numeri, formule e formattazione
- Nomina il nuovo foglio con il codice della lingua di destinazione
Prerequisiti
- Abbonamento Microsoft 365 (la funzione
=TRANSLATE()richiede Microsoft 365) - Excel per Windows o Mac (la versione Web ha supporto VBA limitato)
- Macro abilitate nelle impostazioni di Excel
Salva il tuo file come cartella di lavoro abilitata per macro
- 1Apri il tuo file Excel
- 2Vai su File → Salva con nome
- 3Seleziona Cartella di lavoro Excel abilitata per macro (*.xlsm) dal menu a discesa del tipo di file
- 4Clicca su Salva
Importante: I normali file .xlsx non possono contenere macro. Devi salvare come .xlsm per usare il codice VBA.
Apri l'editor VBA
Keyboard Shortcut
Premi Alt + F11 (Windows) o Option + F11 (Mac)
Metodo alternativo
- 1.Vai alla scheda Sviluppatore
- 2.Clicca su Visual Basic
Suggerimento: Se non vedi la scheda Sviluppatore, vai su File → Opzioni → Personalizza barra multifunzione e seleziona la casella Sviluppatore.
Scarica e importa il codice VBA
Ottieni la macro VBA da GitHub
Scarica il file TranslateSheet.bas dal nostro repository open-source.
Come importare il file .bas
- 1Scarica il file
TranslateSheet.bas - 2Nell'editor VBA, vai su File → Importa file...
- 3Seleziona il file
TranslateSheet.basscaricato - 4Il modulo apparirà nella cartella Moduli del tuo progetto
Alternativa: Puoi anche copiare il codice direttamente da GitHub e incollarlo in un nuovo modulo (Inserisci → Modulo).
Esegui la macro
- 1Assicurati che il foglio che vuoi tradurre sia attivo
- 2Premi Alt + F8 per aprire la finestra Macro, seleziona TranslateActiveSheetToNewSheet, poi clicca su Esegui
- 3Inserisci il codice della lingua di origine (lascia vuoto per il rilevamento automatico)
- 4Inserisci il codice della lingua di destinazione (es., "ja" per giapponese)
- 5Inserisci il nome del nuovo foglio o accetta quello predefinito
- 6Scegli se convertire le formule in valori (Sì/No)
Nota: La velocità di traduzione dipende dal numero di celle e dalla tua connessione Internet. Fogli con più di 500 celle di testo possono richiedere diversi minuti. Per fogli molto grandi (1000+ celle), considera di dividerli in batch più piccoli.
Note importanti
- Limiti di frequenza: Microsoft Translator ha limiti di utilizzo. Se traduci migliaia di celle, potresti vedere errori temporanei. Aspetta qualche minuto e riprova.
- Attendi il calcolo: Dopo aver eseguito la macro, attendi che tutte le formule TRANSLATE finiscano di calcolare prima di convertire in valori. Vedrai "Calcolo in corso..." nella barra di stato mentre lavora.
- Celle unite: La macro preserva la formattazione delle celle unite, ma solo la cella in alto a sinistra di un'area unita contiene testo. Le altre celle nell'unione rimarranno vuote.
Codici lingua supportati
Usa questi codici quando ti viene chiesta la lingua di origine o destinazione:
| Codice | Lingua |
|---|---|
| en | English |
| ja | Japanese |
| zh-CN | Chinese (Simplified) |
| zh-TW | Chinese (Traditional) |
| ko | Korean |
| es | Spanish |
| fr | French |
| de | German |
| it | Italian |
| pt | Portuguese |
| ru | Russian |
| ar | Arabic |
| hi | Hindi |
| vi | Vietnamese |
| th | Thai |
Suggerimento: Per un elenco completo dei codici lingua supportati dalla funzione TRANSLATE, visita la documentazione ufficiale di Microsoft.
Risoluzione dei problemi
"Funzione TRANSLATE non disponibile"
La funzione TRANSLATE richiede un abbonamento Microsoft 365. Assicurati di avere l'ultima versione di Excel e di aver effettuato l'accesso al tuo account Microsoft 365.
"Le macro sono disabilitate"
Vai su File → Opzioni → Centro protezione → Impostazioni Centro protezione → Impostazioni macro e seleziona "Abilita tutte le macro" o "Disabilita tutte le macro con notifica".
"La traduzione restituisce errore #VALORE!"
Questo di solito accade quando la cella contiene caratteri speciali o c'è un problema di rete. La macro salta le celle con errori e continua a tradurre.
"La macro è troppo lenta"
Fogli grandi con migliaia di celle possono richiedere tempo. Considera di dividere i tuoi dati in fogli più piccoli o usa il servizio di traduzione Excel di Doc2Lang per un'elaborazione batch più veloce.
"La traduzione non funziona" o le celle mostrano #CONNECT!
La funzione TRANSLATE richiede una connessione Internet attiva. Controlla la tua connessione di rete e riprova. I firewall aziendali possono anche bloccare l'accesso ai servizi Microsoft Translator.
Tutorial video
Guarda la guida video passo dopo passo:
Hai bisogno di una traduzione più accurata?
Doc2Lang usa la traduzione alimentata dall'IA con consapevolezza del contesto per una maggiore precisione, preservando tutta la formattazione, le formule e gli stili.