Errore _xlfn.IFERROR improvviso

Anonimo
2014-01-24T17:13:28+00:00

Ciao a tutti,

mi riferisco sempre al file "Gestione Progetti e Notule" del quale oramai a forza di pezzi di codice l'ho pubblicato tutto sul forum.

L'ho utilizzato tranquillamente per un bel periodo di tempo, direi per almeno 10/11 mesi senza che desse problemi se non quelli che insieme abbiamo risolto, ma ieri al lancio di una funzione di salvataggio che ha sempre funzionato meravigliosamente bene la routine si blocca e passa al debug di Visual Basic.

La routine è questa e l'errore lo da bloccandosi su nome.Delete in grassetto.

La routine viene richiamata da un'altra che salva il foglio.

__________________________________________

Public Sub cancella_nomi() ' cancella tutti i nomi dal foglio ad eccezione dell'area di stampa in modo                                        ' che ricaricando il file salvato

Dim wk As Workbook        ' non ci sia il conflitto con i nomi che restano sulla sessione di excel

Dim nome As Name

Set wk = ActiveWorkbook

With wk

For Each nome In .Names

    If LCase(nome.NameLocal) <> "Fattura!Area_Stampa" Then nome.Delete

    'Debug.Print (nome.NameLocal)

Next

End With

Set nome = Nothing

Set wk = Nothing

End Sub

__________________________________________

Se con il mouse, a Debug interrotto, mi posiziono su LCase(nome.NameLocal) nella casellina che appare mi fa vedere         = _xlfn.IFERROR

e questi sono i nomi che ho visualizzato tramite Print e che dovrebbe cancellare meno uno e che ripeto ha cancellato fino a ieri.

_xlfn.IFERROR

Fattura!Area_stampaclienteelencoprivato

ho cercato nei nomi, ma _xlfn.IFERROR non esiste.

Grazie a chi può interessarsi.

Tullio

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-01-28T10:30:12+00:00

Grazie a tutti,

ho risolto il problema utilizzando

ActiveCell.FormulaR1C1 = _

        "=IF(ISERROR(VLOOKUP(RC[-1],Rubrica!R2C2:R65536C15,9,FALSE)),"" valore di ricerca errato"",VLOOKUP(RC[-1],Rubrica!R2C2:R65536C15,9,FALSE))"

Ciao, alla prossima.

Tullio

La risposta è stata utile?

0 commenti Nessun commento

18 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-01-24T17:50:35+00:00

    Ciao Mauro, forse mi sono spiegato male.

    Il PC ha Excel 2007. E la tua risposta mi fa venire in mente che un paio di giorni fa ho modificato proprio delle formule e con molta probabilità alcune sono SE.ERRORE, ma con il 2007 non dovrei essere a posto ? Comunque appena capito in ufficio controllo.

    Grazie Mauro.

    Tullio

    Ed è salvato come xlsm o come xls?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-01-24T17:50:29+00:00

    [cut]

    ho cercato nei nomi, ma _xlfn.IFERROR non esiste.

    [cut]

    Oltre alla risposta di Mauro, non  trovi il nome perché Excel crea il nome come un nome nascosto. 

    Per rendere il nome visble, prova:

    '=============>>

    Public Sub Tester()

    Dim aName As Name

    For Each aName In ActiveWorkbook.Names

    aName.Visible = True

    Next aName

    End Sub

    '<<=============

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-01-24T17:47:53+00:00

    Ciao Mauro, forse mi sono spiegato male.

    Il PC ha Excel 2007. E la tua risposta mi fa venire in mente che un paio di giorni fa ho modificato proprio delle formule e con molta probabilità alcune sono SE.ERRORE, ma con il 2007 non dovrei essere a posto ? Comunque appena capito in ufficio controllo.

    Grazie Mauro.

    Tullio

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-01-24T17:27:50+00:00

                    <cut>

    ho cercato nei nomi, ma _xlfn.IFERROR non esiste.

    Grazie a chi può interessarsi.

    Tullio

    http://office.microsoft.com/en-au/excel-help/issue-an-xlfn-prefix-is-displayed-in-front-of-a-formula-HA010204569.aspx

    stai utilizzando il file in un pc con Excel 2003? Se stai utilizzando sul foglio SE.ERRORE, come ho più volte segnalato, non è sempre compatibile. Modificala con SE(VAL.ERRORE(LaTuaFunzione);"";LaTuaFunzione)

    Ma forse non ho capito.

    La risposta è stata utile?

    0 commenti Nessun commento