Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
Macro compatibilità di chicco (utente non iscritto) data: 30/11/2014 11:49:03
Un file con macro registrate e funzionanti fino alla versione 2010, mi rileva errori nella macro aprendolo con excel 2013, dove trovo e/o riparo le incompatibilità?
Il file è stato ovviamente registrato nel formato .xlsm per l'uso nel 2010, la macro è stata registrata con versione precedente, credo 2003 o giù di lì!
grazie per qualsiasi supporto, anche morale.
di scossa data: 30/11/2014 12:32:00
cit.: ".... mi rileva errori nella macro aprendolo con excel 2013, dove trovo e/o riparo le incompatibilità? "
Non indichi il tipo di errore, non mostri i codici delle macro, non alleghi il file .......
Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
di chicco (utente non iscritto) data: 30/11/2014 13:14:17
Hai ragione, pensavo ci fosse una serie di comandi macro non compatibili passando da Excel 2010 a 2013
Ecco qualche informazione aggiuntiva che dovrebbero far comprendere, a chi ne sa più di me, dove sta l'inghippo.
La macro dovrebbe estrarre dei dati ed ordinarli da una scheda tipo prima nota in altre schede in base al codice specificato in ogni linea del foglio di prima nota.
Tutta la prima parte, nell'estrazione dei dati con il codice "a" [=FORMULA("a";"R4C18")] funziona, ma i dati nella scheda "Allievi" non vengono ordinati e la macro si interrompe nel comando che ho lasciato isolato, cioè
=MODIFICA.SELEZIONA("Estrai")
ed il sistema segnala: errore nella macro nella cella che contiene questo comando
Interrompendo per cui la prosecuzione della macro mi ritrovo il foglio prima nota ordinato secondo la colonna 4 (cosa che avrebbe dovuto fare nella scheda "Allievi", presumibilimente con il comando:
=DATI.ORDINA(1;"R4C3";1)
Estrai.dati (e)
=SCHERMO(FALSO)
=CARTELLA.DI.LAVORO.ATTIVA("Prima Nota";FALSO) Estrae i dati da: Prima Nota a Allievi
=FORMULA("a";"R4C18")
=FORMULA.VAI.A("dati")
=DATI.IMPOSTA.DATABASE()
=MODIFICA.SELEZIONA("Estrai")
=DATI.IMPOSTA.ESTRAZIONE()
=MODIFICA.SELEZIONA("Crit")
=DATI.IMPOSTA.CRITERI()
=DATI.ESTRAI(FALSO)
=FORMULA.VAI.A("ESPORTA")
=COPIA()
=ATTIVA.FINESTRA("Allievi")
=MODIFICA.SELEZIONA("R4C1")
=MODIFICA.INCOLLA()
=DATI.ORDINA(1;"R4C3";1) Ordina i dati in Allievi
=MODIFICA.SELEZIONA("R4C1")
=ATTIVA.FINESTRA("Prima Nota") Estrae i dati da: Prima Nota a Altre voci
=FORMULA.VAI.A("dati")
=DATI.IMPOSTA.DATABASE()
=MODIFICA.SELEZIONA("Estrai")
=DATI.IMPOSTA.ESTRAZIONE()
=MODIFICA.SELEZIONA("Cri")
=DATI.IMPOSTA.CRITERI()
=DATI.ESTRAI(FALSO)
=FORMULA.VAI.A("ESPORTA")
=COPIA()
=ATTIVA.FINESTRA("Altre voci")
=MODIFICA.SELEZIONA("R4C1")
=MODIFICA.INCOLLA()
=DATI.ORDINA(1;"R4C2";1) Ordina i dati in Altre voci
=MODIFICA.SELEZIONA("R4C1")
=ATTIVA.FINESTRA("Prima Nota") Estrae i dati da: Prima Nota a Ae.C.I.
=FORMULA("r";"R4C18")
=FORMULA.VAI.A("dati")
=DATI.IMPOSTA.DATABASE()
=MODIFICA.SELEZIONA("Estrai")
=DATI.IMPOSTA.ESTRAZIONE()
=MODIFICA.SELEZIONA("Crit")
=DATI.IMPOSTA.CRITERI()
=DATI.ESTRAI(FALSO)
=FORMULA.VAI.A("ESPORTA")
=COPIA()
=ATTIVA.FINESTRA("Ae.C.I.")
=MODIFICA.SELEZIONA("R4C1")
=MODIFICA.INCOLLA()
=DATI.ORDINA(1;"R4C1";1) Ordina i dati in Ae.C.I.
=MODIFICA.SELEZIONA("R4C1")
=ATTIVA.FINESTRA("Prima Nota") Estrae i dati da: Prima Nota a Banca
=FORMULA.VAI.A("r4c18")
=CANCELLA(3)
=FORMULA(">0";"R4C19")
=FORMULA(">0";"R5C20")
=FORMULA.VAI.A("dati")
=DATI.IMPOSTA.DATABASE()
=MODIFICA.SELEZIONA("Estrai")
=DATI.IMPOSTA.ESTRAZIONE()
=MODIFICA.SELEZIONA("Criterib")
=DATI.IMPOSTA.CRITERI()
=DATI.ESTRAI(FALSO)
=FORMULA.VAI.A("ESPORTA")
=COPIA()
=ATTIVA.FINESTRA("Banca")
=MODIFICA.SELEZIONA("R4C1")
=MODIFICA.INCOLLA()
=DATI.ORDINA(1;"R4C1";1) Ordina i dati in Banca
=MODIFICA.SELEZIONA("R4C1")
=ATTIVA.FINESTRA("Prima Nota")
=MODIFICA.SELEZIONA("R4C19:R5C20")
=CANCELLA(3) Pulizia in Prima Nota
=FORMULA.VAI.A("ESPORTA") Pulizia in Prima Nota
=CANCELLA(3) Pulizia in Prima Nota
=MODIFICA.SELEZIONA("R4C1")
=RITORNO()
di lepat (utente non iscritto) data: 30/11/2014 16:56:26
forse è meglio che alleghi il file
di lepat (utente non iscritto) data: 30/11/2014 18:17:07
però, il codice che hai allegato sembra molto più vecchio del 2003, non è vba