Risultati da 1 a 8 di 8

Discussione: Chiusura a tempo dell'UserForm



  1. #1
    L'avatar di Pacifico437
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Bari
    Età
    79
    Messaggi
    193
    Versione Office
    Office 2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    2

    Chiusura a tempo dell'UserForm

    Gent.mi,


    dopo svariate prove senza ottenere un risultato positivo sono a chiedere un aiuto.

    Ho la necessità di aprire un Userform e dopo 2 sec. chiudere ed aprire un'altra UserForm.
    I codici che ho inseriti sono tre tutti negatiiiivi.
    1°:
    Userform1.show

    Dim TempoAttesa
    TempoAttesa = Now + TimeValue("00:00:2")
    Application.Wait TempoAttesa
    UnLoad UserForm1
    UserForm2.show

    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    'Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Userform1.show
    Sleep 2000
    UnLoad UserForm1
    UserForm2.show
    Mi da errore di compilazione

    Dim millisecondi As Integer
    millisecondi = 2000
    Userform1.show
    Sleep 2000
    UnLoad UserForm1
    UserForm2.show
    Anticipatamente ringrazio.
    Domenico.

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    586
    Versione Office
    2010
    Mi Piace ricevuti
    72
    Mi Piace dati
    1

    Re: Chiusura a tempo dell'UserForm

    in thisworkbook
    Codice: 
    Private Sub Workbook_Open()
    UserForm1.Show
    End Sub
    nella userform1
    Codice: 
    Private Sub UserForm_Activate()
    TempoAttesa = Now + TimeValue("00:00:05")
    Application.Wait TempoAttesa
    UserForm1.Hide
    UserForm2.Show
    End Sub

  3. #3
    L'avatar di Pacifico437
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Bari
    Età
    79
    Messaggi
    193
    Versione Office
    Office 2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    2

    Re: Chiusura a tempo dell'UserForm

    Gent.mo Patel,


    ringrazio per la gentile attenzione, funziona ed al momento ho notato un'altro problema che
    in parte funziona.
    Ho quattro fogli di lavoro e per nascondere i tre fogli ho usato il seguente codice in
    Workbook_open che funziona:
    Dim ws As Worksheet
    For Each ws In Me.Worksheets
    If ws.Name <> "Immagine" Then
    ws.Visible = xlSheetVeryHidden
    End If
    Next ws
    Gradirei in un UserForm tramite un CommandButton farli riapparire e qui che non riesco; ho
    usato il seguente codice che mi da errore:
    Dim ws As Worksheet
    or Each ws In Me.Worksheets
    If ws.Name <> "Immagine" Then
    ws.Visible = xlSheetVisible
    End If
    Next ws
    e per funzionare ho usato il seguente codice che ritengo non è esatto:
    Foglio2.Visible = xlSheetVisible
    Foglio3.Visible = xlSheetVisible
    Foglio4.Visible = xlSheetVisible


    Scusa se approfitto, cordialmente saluto.
    Domenico.

  4. #4
    L'avatar di seawolf
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Palermo
    Età
    62
    Messaggi
    30
    Versione Office
    2007
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Chiusura a tempo dell'UserForm

    Cit...Gradirei in un UserForm tramite un CommandButton farli riapparire e qui che non riesco..
    ti posto il codice ,
    Codice: 
    Option Explicit
    Dim ws As Worksheet
    Dim myarray() As String
    Dim valore As Boolean
    
    Private Sub CommandButton1_Click()
     Dim dato As String
     Dim i As Integer
         For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) Then
                dato = ListBox1.List(i)
                valore = False
               Call m(dato, valore)
                End If
    
            Next i
            Unload Me
            
    End Sub
    
    Private Sub CommandButton2_Click()
    Dim dato As String
     Dim i As Integer
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) Then
                dato = ListBox1.List(i)
                valore = True
               Call m(dato, valore)
                End If
    
            Next i
            Unload Me
    End Sub
    
    Private Sub UserForm_Initialize()
    
    Dim col As Collection
    Dim myarray() As String
    Dim a As Long
    Dim nome As String
    Dim v As Variant
        Set col = New Collection
        For Each ws In Worksheets
            myarray = Split(ws.Name)
            On Error Resume Next
            For a = LBound(myarray) To UBound(myarray)
                nome = myarray(a)
                col.Add myarray(0), CStr(myarray(0))
            Next
        Next
        For Each v In col
            UserForm1.ListBox1.AddItem v
        Next
    
    
    End Sub
    
    
    Sub m(ByVal dato As String, ByVal valore As Boolean)
    Dim a As Long
    Dim nome As String
     For Each ws In Worksheets
                    myarray = Split(ws.Name)
                    For a = LBound(myarray) To UBound(myarray)
                        nome = myarray(a)
                       If myarray(0) = dato Then
                            Worksheets(ws.Name).Visible = valore
                        End If
                        Next
                        Next
    End Sub
    in allegato anche il file.
    In VBa crei una userform con una listbox e due pulsanti, e associ il codice postato.Naturalmente lo devi elaborare per le tue esigenze
    File Allegati File Allegati
    Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

  5. #5
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    625
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    155
    Mi Piace dati
    98

    Re: Chiusura a tempo dell'UserForm

    pacifico.
    per chi ti aiuta non è sufficente sapere che ricevi un errore.
    per chi ti aiuta serve sapere QUALE errore ricevi ed anche in che punto del listato.

    comunque sia:

    il listato che hai postato contiene un errore di sintassi.
    hai scritto:
    or each ws...

    al posto di:
    For each ws...

  6. #6
    L'avatar di Pacifico437
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Bari
    Età
    79
    Messaggi
    193
    Versione Office
    Office 2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    2

    Re: Chiusura a tempo dell'UserForm

    Gent.mo Seawolf,


    ringrazio della gentilezza dovrò adattare alle mie esigenze inserendo un ListBox per
    Dacroscrigno che saluto e che stavi nei miei pensieri.
    Purtroppo con il copia ed incolla può avvenire qualche errore scusa.
    saluto.
    Domenico.

  7. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    44
    Messaggi
    1660
    Versione Office
    Excel 2013
    Mi Piace ricevuti
    517
    Mi Piace dati
    428

    Re: Chiusura a tempo dell'UserForm

    Citazione Originariamente Scritto da seawolf Visualizza Messaggio
    Codice: 
    [...]
    Private Sub UserForm_Initialize()
    
    Dim col As Collection
    Dim myarray() As String
    Dim a As Long
    Dim nome As String
    Dim v As Variant
        Set col = New Collection
        For Each ws In Worksheets
            myarray = Split(ws.Name)
            On Error Resume Next
            For a = LBound(myarray) To UBound(myarray)
                nome = myarray(a)
                col.Add myarray(0), CStr(myarray(0))
            Next
        Next
        For Each v In col
            UserForm1.ListBox1.AddItem v
        Next
    
    
    End Sub
    
    
    [...]
    A cosa serve il ciclo evidenziato?

  8. #8
    L'avatar di seawolf
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Palermo
    Età
    62
    Messaggi
    30
    Versione Office
    2007
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Chiusura a tempo dell'UserForm

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    A cosa serve il ciclo evidenziato?
    il ciclo che è stato evidenziato, mi serviva per controllare i vari valori dell'array, ma in questo caso non serve,dato che ho fatto un copia e incolla di un altro progetto non l'ho eliminato
    Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

Discussioni Simili

  1. Blocco dell'UserForm al terzo tentativo
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 03/10/16, 20:08
  2. Alla chiusura della X (Chiudi) aprire un UserForm
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 12/03/16, 12:44
  3. Una userform che popoli celle in tempo reale, non predeterminate
    Di nedevil nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 25/02/16, 10:36
  4. chiusura dei form
    Di John nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 04/12/15, 15:47
  5. chiusura excel
    Di Gianfranco55 nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 28/11/15, 18:45

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
  •