La funzione EOMONTH è Flakey (Microsoft Excel)
Joe utilizza la funzione EOMONTH abbastanza frequentemente, ma da quando è passato a Excel 2007, ha avuto problemi. Joe ha l’Analysis ToolPak attivo e la funzione EOMONTH funziona inizialmente. Tuttavia, quando salva la cartella di lavoro e la apre in un secondo momento, le celle contenenti la funzione EOMONTH sembrano a posto finché non fai clic su di esse. Quindi la barra della formula mostra # N / A. La formula è scomparsa. Quando ciò accade, Analysis ToolPak è ancora attivo. Questo non accade in ogni occasione, ma è troppo frequente per essere ignorato. Inoltre, Joe ha un collega che sta riscontrando lo stesso problema con le sue cartelle di lavoro.
Questo problema con EOMONTH si verifica apparentemente a causa delle modifiche apportate alla funzione EOMONTH nelle versioni successive di Excel (Excel 2007 e versioni successive).
Nelle versioni precedenti di Excel (Excel 2003 e precedenti) EOMONTH faceva parte di Analysis ToolPak. Nelle versioni successive di Excel, ToolPak non è più necessario; la funzione fa parte di Excel stesso. In altre parole, non è necessario attivare Analysis ToolPak per utilizzare EOMONTH.
Questo porta al problema. Se si dispone di una cartella di lavoro creata in una versione precedente di Excel e la si apre utilizzando la modalità di compatibilità in una versione successiva di Excel, le formule della cartella di lavoro vengono valutate e, in alcune circostanze, i “token” interni utilizzati per le funzioni vengono aggiornati.
Quando la cartella di lavoro viene salvata e nuovamente fuori, il token aggiornato viene archiviato nella cartella di lavoro e, quando la cartella di lavoro viene ricaricata, il token ora punta a ciò che Excel interpreta come una funzione non valida.
Microsoft non ha ancora pubblicato nulla nella propria Knowledge Base su questo errore. Il problema sembra essere intermittente (come ha notato Joe), interessando una cartella di lavoro solo dopo che è stata eseguita da quattro a otto cicli di apertura / modifica / salvataggio.
La soluzione è aprire la cartella di lavoro e, se il problema non si manifesta, utilizzare Salva con nome per salvare la cartella di lavoro in formato Excel nativo.
(Bene, nel formato Excel nativo di Excel 2007 tramite le versioni successive di Excel.) Poiché la modalità di compatibilità non è coinvolta da quel momento in poi, il problema non dovrebbe ripetersi. Se il problema si manifesta, sarà necessario correggere e ricostruire la cartella di lavoro.
Se non è possibile salvare la cartella di lavoro nel formato nativo corrente di Excel (forse è necessario utilizzare il vecchio formato Excel per lavorare con altri che non hanno aggiornato il loro programma), allora dovresti considerare di non fare affidamento sulla funzione EOMONTH . Utilizza invece una formula come una delle seguenti:
=A1+31-DAY(A1+31) =DATE(YEAR(A1),MONTH(A1)+1,1)-1
Se preferisci, puoi creare la tua funzione definita dall’utente per calcolare l’ultimo giorno di un mese. Il seguente è un approccio:
Function LastOfMonth(Any_Date As Date) As Date ' Returns the date of the last day of ' the month of the passed date argument LastOfMonth = DateAdd("d", -1, _ DateAdd("m", 1, Month(Any_Date) _ & "/1/" & Year(Any_Date))) End Function
Dovrai assicurarti di passare alla funzione una data valida, facendo riferimento a una data in una cella o racchiudendo una data letterale tra virgolette. Supponendo che la cella B7 contenga la data 10/15/18, entrambi i seguenti risultati restituiranno lo stesso risultato:
=LastOfMonth(B7) =LastOfMonth("10/15/2018")
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (6613) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.