› Excel e gli applicativi Microsoft Office › Compatibilità xlsm con office 2013
-
AutoreArticoli
-
Buonasera, ho creato un file con attivazione macro, quindi .xlsm, con office 2019.
Adesso questo file dovrebbe poter girare su delle macchine che usano office 2013 però, usando le macro, mi dice che i moduli non sono compatibili con la struttura.
Come posso risolvere? C'è un modo per render questo file compatibile anche con gli altri office?
GrazieBuona sera, Daniele;
utilizzo Excel 2013.
Se puoi allegare il File strutturato con Excel 2019 lo posso analizzare con Excel 2013.A disposizione
Buona serata.
Giuseppe
Se ti interessa io ho excel 2007 quindi le lo alleghi lo provo anche io per la massima compatibilità
Buonasera Giuseppe,
i file in questione sono tre, hanno più o meno lo stesso codice ma presentano strutture dei fogli differenti
Ne invio uno solo, i fogli sono protetti da password come anche i moduli che sbloccherò.
Ogni foglio è provvisto di un pulsante (AVANTI) che permetterà appunto di andare avanti nei fogli, mentre, il foglio finale presenta un pulsante (STAMPA) per permettere l'invio in pdf del foglio per mail tramite outlook.Se vuoi possiamo sentirci anche privatamente e poi dare la soluzione qui nel forum in modo che possa essere utile a qualcuno
Allegati:
You must be logged in to view attached files.Buona giornata, Daniele;
consentimi un saluto a @lucastar.Ho testato alcuni Codici VBA del Tuo File e mi sembra funzionino correttamente anche con Excel 2013.
Quali sono i Codici VBA che creano problemi?A disposizione
Buon Lavoro.
Giuseppe
In primis il Modulo 1, e poi anche il modulo 9 se non ricordo male (che sarebbe il modulo che mi permette di inviare le mail in pdf)
Questo è l’errore che mi da:
Errore di compilazione in un modulo nascosto:Modulo1. Questo errore si verifica in genere quando il codice non è compatibile con la versione,la piattaforma o l'archiettura dell'applicazione
e lo stesso messaggio con Modulo9 (se non erro, comunque il modulo di invio del pdf)
Può essere che derivi dal fatto che il progetto vba era protetto da password?
Nel Modulo1 ci sono diversi Codici VBA:
- vaipos - Funziona correttamente
- vaicont - Funziona correttamente
- vaiass - Non funziona; manca il Foglio di lavoro "ASSEGNI"
- VOUCHER - Funziona correttamente
- vaipagfatt - Non funziona; valore = MsgBox("C'E' RIENTRO DI SARTORIA?", vbYesNo)
- vaiuscite - Non funziona; manca il Foglio di lavoro "ALTRE USCITE"
- vaifirma - Funziona correttamente
- vaiverifica - Funziona correttamente
- crediti - Funziona correttamenteDove manca il Foglio di lavoro è comprensibile l'errore che si sviluppa.
Per MsgBox proverei a dichiarare:Dim valore As VbMsgBoxResult
Il Modulo9 in realtà riguarda la stampa:
- stamp - Funziona correttamenteL'invio delle E-Mail credo sia delegato a:
- PDFEmailPrint - Modulo6
Purtroppo non riesco a testare questo Codice VBA; non ho Outlook, vedrò come poter procedere.A disposizione
Buon Lavoro.
Giuseppe
Leggo solo ora:
Può essere che derivi dal fatto che il progetto vba era protetto da password?
Direi di poterlo escludere; al massimo, in un Progetto VBA protetto, compare il Messaggio di Errore ma non consente di fare il Debug.
Giuseppe
Ho notato che manca la variabile dichiarata: Dim valore As VbMsgBoxResult
Quando però clicco su AVANTI, che dal primo foglio mi porta la secondo, mi da l'errore che ho scritto prima.
Può essere che ad mancano dei componenti ad excel? Perché comunque mi da questo errore in quasi tutte le macchine che possiedono un office 2013 e 2010
Allego una foto dell'errore
Allegati:
You must be logged in to view attached files.Buon pomeriggio, Daniele;
non so che dirti, a me funziona tutto.Allego File al quale, nel Codice VBA "vaipagfatt", ho semplicemente aggiunto:
-Dim valore As VbMsgBoxResult
Giuseppe
Allegati:
You must be logged in to view attached files.Una parte l’ho risolta, adesso però è sopraggiunta un’altra difficoltà:
mancano i componenti per Outlook. Come posso aggiungerli?
Non ho la licenza di Outlook e quindi non ho la possibilità di testare il Codice VBA "PDFEmailPrint".
Magari qualche Utente che ha la licenza di Outllok può aiutarti.Giuseppe
Ciao Giuseppe, ho risolto con il tuo suggerimento ed eliminando questo ciclo:
For Each X In Range("'PV'!F5")X.Value = UCase(X.Value)
NextGrazie per l'aiuto!
Sono veramente felice che Tu abbia risolto ma nel File originale non trovo il Ciclo:
For Each X In Range("'PV'!F5")
X.Value = UCase(X.Value)
Next
Mi è sfuggito qualche passaggio?
Giuseppe
Ciao Giuseppe, se non ricordo male si trova nel modulo 1 sotto il nome della INIZIO
Buona giornata, Daniele;
grazie eella Tua attenzione.Non trovo il Codice VBA "INIZIO" ne nel Modulo1 ne negli altri Moduli; per cortesia, quando hai un attimo di tempo, prova a controllare nel File allegato alla tua Risposta del 21/05/2020 alle 22:20.
Dove sbaglio? Grazie.
Buon fine settimana.
Giuseppe
Ciao, scusami ho sbagliato io, ho controllato un altro file (che è più o meno uguale) che mi dava lo stesso problema ed appunto il problema era il ciclo.
Grazie ancora e scusami
Molto bene.
Alla prossima.
Giuseppe
-
AutoreArticoli