Risultati da 1 a 21 di 21

Discussione: UDF disponibile su tutte le cartelle di lavoro



  1. #1
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339

    UDF disponibile su tutte le cartelle di lavoro

    Ciao a tutti
    Questo bellissimo codice VBA che l'ho ricavato da una recente discussione, creato da TextTomb (che ringrazio e saluto) vorrei sapere se questa UDF può essere disponibile per tutte le cartelle di lavoro

    Codice: 
    Public Function EstraiNomi(Ats As Range, Rng As Range) As StringDim cllNms As New Collection
    Dim ElencoNomi As String
    Dim cell As Range
    On Error Resume Next
        For Each cell In Rng
            If cell.Value = Ats Then
                cllNms.Add cell.Offset(, 1).Value, Key:=cell.Offset(, 1).Value
                ElencoNomi = ElencoNomi & cllNms.Item(cllNms.Count) & "; "
            End If
        Next
    On Error GoTo 0
    EstraiNomi = Left(ElencoNomi, Len(ElencoNomi) - 2) End Function
    Attualmente Questa funzione =EstraiNomi() è solo disponibile nella cartella di lavoro dove ho inserito il codice, ma sono proprio curioso di sapere se con qualche pezzo di codice si possa rendere disponibile in qualsiasi cartella di lavoro di Excel
    Grazie a tutti
    Ultima modifica fatta da:Gerardo Zuccalà; 22/11/15 alle 22:37
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  2. #2
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ciao a tutti
    Questo bellissimo codice VBA che l'ho ricavato da una recente discussione, creato da TextTomb (che ringrazio e saluto) vorrei sapere se questa UDF può essere disponibile per tutte le cartelle di lavoro

    Codice: 
    Public Function EstraiNomi(Ats As Range, Rng As Range) As StringDim cllNms As New Collection
    Dim ElencoNomi As String
    Dim cell As Range
    On Error Resume Next
        For Each cell In Rng
            If cell.Value = Ats Then
                cllNms.Add cell.Offset(, 1).Value, Key:=cell.Offset(, 1).Value
                ElencoNomi = ElencoNomi & cllNms.Item(cllNms.Count) & "; "
            End If
        Next
    On Error GoTo 0
    EstraiNomi = Left(ElencoNomi, Len(ElencoNomi) - 2) End Function
    Attualmente Questa funzione =EstaiNomi() è solo disponibile nella cartella di lavoro ho inserito il codice, ma sono proprio curioso di sapere se con qualche pezzo di codice si possa rendere disponibile in qualsiasi cartella di lavoro di Excel
    Grazie a tutti
    così com'è la devi inserire in un modulo e l'avrai a disposizione su tutti i fogli.
    P.S.
    ti ha poi detto quali sono le variabili da inserire () ?

    :999:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  3. #3
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    così com'è la devi inserire in un modulo e l'avrai a disposizione su tutti i fogli.
    P.S.
    ti ha poi detto quali sono le variabili da inserire () ?
    Ciao Baloon_50 grazie per la tua risposta ma io la vorrei disponibile per tutte le cartelle di lavoro di excel (per tutti i file di excel)
    Grazie

    [EDIT]

    PS in questa immagine puoi vedere che nel mio computer sono disponibili altra UDF che nel tempo sono finite li ma non mi ricordo come abbiano fatto, di fatto adesso sono disponibili in qualsiasi cartella di lavoro di excel

    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  4. #4
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ciao Baloon_50 grazie per la tua risposta ma io la vorrei disponibile per tutte le cartelle di lavoro di excel (per tutti i file di excel)
    Grazie
    Se ricordi qualche tempo fa non mi ricordo chi ti ha parlato di Personal.xlsb che è il file dove puoi mettere tutte le macro che vuoi e lo devi salvare in
    C:\Users\tuonome\AppData\Roaming\Microsoft\Excel\XLSTART
    quando apri excel si auto carica questo file dove ci sono le varie routine ( se non lo vuoi vedere visualizza ---> nascondi).
    Non so se va bene anche con le funzioni bisognerebbe provare.

    Ho fatto una verifica veloce ma non funziona - funziona solo nella cartella aperta

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  5. #5
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Si si mi ricordo e oltretutto mi avevi fatto vedere anche come eseguire una macro che l'abbiamo inserita nella "Ribbon" cosi da essere disponibile per tutti i file ( ma questa è un'altra storia)

    Ma io faccio questa domanda perchè nel mio computer ci sono diverse funzioni create con il VBA( come puoi vedere nell'immagine sopra) che sono sempre a disposizione in Excel, ed io non ho mai fatto delle forzature salvandole in qualche personal File come mi hai scritto tu (C:\Users\tuonome\AppData\Roaming\Microsoft\Excel\XLSTART) ma semplicememte copiando la function in un nuovo modulo, e poi per magia diventa disponibile per tutti i file
    Credo che questo sia dovuto a quache semplice "istruzione " che è stata inserita nel codice, alrimenti non si spiega perchè io alcune funzioni le ho disponibili per tutti i file di excel.
    Grazie a tutti ed un saluto
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  6. #6
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Si si mi ricordo e oltretutto mi avevi fatto vedere anche come eseguire una macro che l'abbiamo inserita nella "Ribbon" cosi da essere disponibile per tutti i file ( ma questa è un'altra storia)

    Ma io faccio questa domanda perchè nel mio computer ci sono diverse funzioni create con il VBA( come puoi vedere nell'immagine sopra) che sono sempre a disposizione in Excel, ed io non ho mai fatto delle forzature salvandole in qualche personal File come mi hai scritto tu (C:\Users\tuonome\AppData\Roaming\Microsoft\Excel\XLSTART) ma semplicememte copiando la function in un nuovo modulo, e poi per magia diventa disponibile per tutti i file
    Credo che questo sia dovuto a quache semplice "istruzione " che è stata inserita nel codice, alrimenti non si spiega perchè io alcune funzioni le ho disponibili per tutti i file di excel.
    Grazie a tutti ed un saluto
    Prova a postarmi una di quelle funzioni che gli do un'occhiata - magari trovo il meccanismo anche se mi è venuta una piccola idea

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  7. #7
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Prova a postarmi una di quelle funzioni che gli do un'occhiata - magari trovo il meccanismo anche se mi è venuta una piccola idea
    Baloon_50 non saprei come prendere i codici di quelle funzioni, credo che siano memorizzate nel computer
    ti spiego come sono arrivate li, tempo fa bazzicavo su forum americani e d tanto in tanto ricavavo questi codici che li inserivo in un modulo nuovo e da quel giorno sono sempre attivi su tutti i file di excel oltretutto non saprei neanche come eliminrle, proprio perchè non so in che punto dell'computer sono memorizzate. bohh
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  8. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Baloon_50 no so come prendere i codici di quelle funzioni, credo che siano memorizzate nel computer
    ti spiego come sono arrivate li, tempo fa bazzicavo su forum americani e d tanto in tanto ricavavo questi codici che li inserivo in un modulo nuovo e da quel giorno sono sempre attivi su tutti i file di excel oltretutto non saprei neanche come eliminrle, proprio perchè non so in che punto dell'computer sono memorizzate. bohh
    Vabbè spero che qualcun altro abbia la soluzione che cerchi :280:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  9. #9
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Grazie lo stesso Baloon_50
    comunque l'unica operazione che facevo era solo copiare ed incollare il codice e da quel momento era disponibile su qualsiasi cartella di lavoro di excel, per cui visto che non ho fatto nient'alro che copiare ed incollare il codice, ci deve essere qualche istruzione nel codice che rende la function attiva su tutti i file...se qualcuno sa come aggirare il problema grazie in anticipo.
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  10. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Grazie lo stesso Baloon_50
    comunque l'unica operazione che facevo era solo copiare ed incollare il codice e da quel momento era disponibile su qualsiasi cartella di lavoro di excel, per cui visto che non ho fatto nient'alro che copiare ed incollare il codice, ci deve essere qualche istruzione nel codice che rende la function attiva su tutti i file...se qualcuno sa come aggirare il problema grazie in anticipo.
    Prova a vedere questo articolo della microsoft

    https://support.microsoft.com/it-it/kb/151490

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  11. #11
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    982
    Versione Office
    2016 64bit
    Likes ricevuti
    182
    Likes dati
    92
    Sull'argomento questi sono i miei appunti a cui per ora mi sono sempre attenuto e non mi pare che siano tanto distanti quanto detto finora per cui non apportano novità:
    Per utilizzare una UDF in più di una cartella di lavoro, bisogna salvare le funzioni come Componente Aggiuntivo personalizzato. Basta fare "Salva come nome..." del file di Excel che contiene la funzione VBA e scegliere "Salva come:" file di Componente Aggiuntivo (.XLA per Excel 2003 o .XLAM per Excel 2007+). Con Windows 10 il file ora finisce nella cartella C:\Users\nomeutente\AppData\Roaming\Microsoft\AddIns .
    Una volta riaperto Excel caricare il Componente Aggiuntivo (Strumenti > Componenti Aggiuntivi... per Excel 2003 o Sviluppo > Componenti Aggiuntivi per Excel 2010+).

  12. I seguenti utenti hanno dato un "Like"


  13. #12
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    55
    Messaggi
    612
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    26
    Likes dati
    114
    Grazie Gerardo e Rollis per il suggerimento molto interessante


    p.s Gerardo mi potresti spiegare meglio il funzionamento della sub a cui fai riferimento all'inizio = come funziona


    Rigrazie
    Ultima modifica fatta da:mb63; 23/11/15 alle 14:42 Motivo: errore ortografico

  14. #13
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Citazione Originariamente Scritto da rollis13 Visualizza Messaggio
    Sull'argomento questi sono i miei appunti a cui per ora mi sono sempre attenuto e non mi pare che siano tanto distanti quanto detto finora per cui non apportano novità:
    Per utilizzare una UDF in più di una cartella di lavoro, bisogna salvare le funzioni come Componente Aggiuntivo personalizzato. Basta fare "Salva come nome..." del file di Excel che contiene la funzione VBA e scegliere "Salva come:" file di Componente Aggiuntivo (.XLA per Excel 2003 o .XLAM per Excel 2007+). Con Windows 10 il file ora finisce nella cartella C:\Users\nomeutente\AppData\Roaming\Microsoft\AddIns .
    Una volta riaperto Excel caricare il Componente Aggiuntivo (Strumenti > Componenti Aggiuntivi... per Excel 2003 o Sviluppo > Componenti Aggiuntivi per Excel 2010+).

    Yeessss!!! Yeessss!!!Yeessss!!! Rollis13
    Woowww! Esattamente quello che volevo ottenere, adesso questa funzione è attiva in tutte le cartelle di lavoro di Excel, sapevo che esisteva un modo ma non sapevo quale, questa procedura che mi hai appena segnalato la custodisco gelosamente tra le mie procedure,
    Rollis13 adesso hai capito perchè dopo il primo giorno che ti ho conosciuto ti abbaimo dato subito la targhetta "Esperto" e forse meriti di più ma ovviamente il rank tiene conto anche dalla partecipazione al forum
    Intanto Grazie
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  15. #14
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Ciao mb63
    grazie per la domanda tuttavia per quel poco che conosco di VBA posso dirti ben poco perchè questa "funzione" l'ho copiata da un'altra discussione ed è la soluzione di TextTomb (che saluto e ringrazio), e io l'ho usata solo come esempio, per rendere attiva questa funzione su tutti i file di Excel, perchè inizialmente questa funzione era attiva solo nel file in cui era stato messo il codice.
    mb63 l'unica cosa che posso dirti che questa non'è una Sub (Routine, macro, o procedura che dir si voglia) come hai scritto tu nella domanda, ma questa è una funzione, infatti noterai che il codice non inizia con "Sub" ma con "Private function".
    Le funzioni create con il VBA si utilizzano allo stesso Modo di una funzione normale di Excel, come ad esempio SOMMA.SE, SCARTO, CERCA.VERT e prima si mette il segno ugale e poi il nome della funzione es.=EstariNomi()
    Ciao mb63
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  16. #15
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ciao mb63
    grazie per la domanda tuttavia per quel poco che conosco di VBA posso dirti ben poco perchè questa "funzione" l'ho copiata da un'altra discussione ed è la soluzione di TextTomb (che saluto e ringrazio), e io l'ho usata solo come esempio, per rendere attiva questa funzione su tutti i file di Excel, perchè inizialmente questa funzione era attiva solo nel file in cui era stato messo il codice.
    mb63 l'unica cosa che posso dirti che questa non'è una Sub (Routine, macro, o procedura che dir si voglia) come hai scritto tu nella domanda, ma questa è una funzione, infatti noterai che il codice non inizia con "Sub" ma con "Private function".
    Le funzioni create con il VBA si utilizzano allo stesso Modo di una funzione normale di Excel, come ad esempio SOMMA.SE, SCARTO, CERCA.VERT e prima si mette il segno ugale e poi il nome della funzione es.=EstariNomi()
    Ciao mb63
    Rispondo io per MB63 perchè ti avevo fatto all'incirca la stessa domanda :
    Quali sono i parametri da mettere tra () ?

    ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  17. #16
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    863
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    63
    in attesa...questo era il thread relativo a quella UDF...
    http://www.forumexcel.it/forum/6-dom...ght=estrainomi
    ciao
    ale

  18. #17
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    50
    Messaggi
    5385
    Versione Office
    office 365/2016
    Likes ricevuti
    1272
    Likes dati
    1339
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Rispondo io per MB63 perchè ti avevo fatto all'incirca la stessa domanda :
    Quali sono i parametri da mettere tra () ?

    ciao.
    Ciao Baloon_50
    Credevo che volessi spiegare il codice, invece vuoi spiegare l'utilizzo della funzione che è abbastanza semplice ma è da conoscere perche questa funzione non'è come le altre funzioni convenzionale di excel che ti mettono lo screen-tip (suggerimenti argomenti).

    Comunque ci sono due Argomenti =EstraiNomi(criterio;intervallo criteri) e la funzione mi restituisce i nomi che sono nell'intervallo subito a destra dell'intervallo dei criteri ovviamente il risultato è tutto in una cella
    Ti allego file con codice
    Ciao a tutti
    Se non lo sai spiegare in modo semplice, non l'hai capito abbastanza bene Cit. Einstein

  19. #18
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    68
    Messaggi
    3628
    Versione Office
    2013 PC
    Likes ricevuti
    540
    Likes dati
    62
    Grazie Gerardo
    :261:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  20. #19
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    863
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    63
    c'è un ma...rispetto alle funzioni standard, al variare di una cella la funzione rimane invariata...e nemmeno con l'F9 varia...ma si deve entrar dentro e dare invio di nuovo...
    rimane cmq un ottima soluzione...davvero ottima
    ciao
    ale

  21. #20
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    55
    Messaggi
    612
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    26
    Likes dati
    114
    1.0000000 di grazie

    adesso ho capito come funziona la udf

    sapevo dove andarla a salvare per renderla utilizzabile su tutti i fogli ma non avevo capito l' impiego adesso tutto ok

    alla prossima

  22. #21
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    55
    Messaggi
    612
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    26
    Likes dati
    114
    Grazie anche ad Alessandro per il link

Discussioni Simili

  1. Sproteggere tutte le cartelle excel in unico comando
    Di KARLO16 nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 04/07/17, 08:12
  2. Collegamento tra due cartelle di lavoro
    Di fragher nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 02/09/16, 14:09
  3. Risposte: 0
    Ultimo Messaggio: 15/06/16, 17:10
  4. Problema Collegamento Cartelle Di Lavoro
    Di MarcoBr1 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 18/12/15, 14:49
  5. Macro (codice VBA) attiva per tutte le cartelle di lavoro (file)
    Di Gerardo Zuccalà nel forum Domande su Excel VBA e MACRO
    Risposte: 19
    Ultimo Messaggio: 21/10/15, 13:14

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •