userform avvia apertura file



  • userform avvia apertura file
    di cristian (utente non iscritto) data: 31/05/2013 20:43:17

    ciao a tutti
    avrei un quesito da porvi, è possibile che all'apertura del file di excel in automatico si apra una userfom.
    grazie per la disponibilità.
    ciao



  • di mabolsie data: 31/05/2013 21:00:59

    Ciao Cristian
    certo, devi aprire l'editor VBA sceglere " questa_cartella_di_lavoro" ed attivare l'evento Workbook open come sotto.
    Metti in mezzo la userform che vuoi aprire ( (n) è il nr. della user da aprire), ogni volta che aprirai il file si aprirà anche la tua User.

    Ciao Max
     
    Private Sub Workbook_Open()
    Userform(n).show
    End Sub
    



  • di Vecchio Frac data: 31/05/2013 21:29:37

    Non vorrei sembrare il solito pignolo, ma devo correggere il nostro mabolsie...
    Il concetto comunque è corretto: devi intercettare l'evento Open del Workbook e aprire il tuo userform (se non cambi i nomi, il predefinito è UserForm1)
    ^_^

    L'insieme Userforms è una collection di oggetti userform che devi riempire a mano (retaggio di VB3) e non serve farlo in VBA; qualcosa del tipo:
    UserForms.Add("UserForm1")
    così l'insieme conta un elemento:
    UserForms.Count --> 1
    Cui puoi accedere con
    Load UserForms(0)
    oppure
    UserForms(0).Name --> UserForm1

    Come vedete è più comodo digitare semplicemente, visto che lo sappiamo già, il nome dell'Userform da aprire :)

     
    Private Sub Workbook_Open()
        Userform1.show
    End Sub






  • di totygno71 data: 31/05/2013 21:32:36

    Non l'ho capita questa!



  • di mabolsie data: 31/05/2013 21:37:22

    Ciao VF e Toty

    @VF
    ho messo userform(n) perchè forse lui vorrebbe aprire un'altra user magari la 2 o la 3 .
    comunque grazie per la spiegazione didattica

    @toty

    ... è venuto da Roma a Milano passando da Bari

    Ciao a tutti

    Max



  • di cristian (utente non iscritto) data: 31/05/2013 21:43:05

    grazie a tutti per la collaborazione, funziona.
    ma se invece di una userform dovessi far partire una macro all'apertura del file contenuta nel Modulo4.



  • di totygno71 data: 31/05/2013 21:44:04

    Si della serie.... quando Cristoforo colombo parti da palos....

    VF sei proprio mai nick fu più azzeccato ^_^ sei proprio "antico" bahahahahha



  • di totygno71 data: 31/05/2013 21:47:34

    @cristian
    quando eva convinse adamo a mangiare la mela....
    bahahahahha

    sfruttando lo stesso evento:
    chiami la sub col suo nome
    Call macro1



  • di Vecchio Frac data: 31/05/2013 23:25:22

    Sarò antico ma a me la forma
    Userform(n).show
    non funziona, neanche con Excel 2010.
    A voi sì?
    Se devo aprire un'altra userform, ovviamente ne conosco il nome (perchè sono io che programmo l'interfaccia utente, non è l'utente che sceglie l'userform da avviare), e quindi si userà la sintassi indicata:
    UserForm2.Show
    UserForm3.Show
    MiaUserForm.Show
    eccetera. In sostanza, non con l'indice, semplicemente perchè non funziona così... non è uno Sheet :) tutto qui.





  • di cristian (utente non iscritto) data: 31/05/2013 23:38:48

    grazie a tutti per l'aiuto.
    buon fine settimana
    cristian



  • di mabolsie data: 01/06/2013 09:32:50

    @ VF

    ..forse ti stai confondendo con codice e spiegazione al nostro amico Cristian, infatti non gli ho spiegato di mettere Userform(n).show nel codice ma dove "n" sta per il numero della User che vuole aprire per cui

    UserformnumerocheCristianvuoleaprire.show

    Ok !!!

    Ciao Buon Week End a tutti
    Max



  • di Vecchio Frac data: 01/06/2013 14:12:38

    cit. "non gli ho spiegato di mettere Userform(n).show nel codice ma dove "n" sta per il numero della User che vuole aprire per cui UserformnumerocheCristianvuoleaprire.show "
    ---> Ah! Allora così ci sta!! dal codice e dalla spiegazione che avevi dato però si capiva altro... per questo ho verificato bene l'uso della collection UserForms ^_^
    Sai qual è il punto? che non si smette mai di imparare... e magari son convinto che certe notazioni non si possono usare e poi mi smentiscono ^_^