Condividi tramite

Utilizzo di Userform variabile

Anonimo
2020-03-17T19:07:25+00:00

Ciao a tutti,

per il progetto di booking, (per il quale ringrazio casanmaner) avrei ora la necessità di sfruttare un routine che controlla i pulsanti di una frame nel form utilizzandola con tutti i form del progetto che hanno i medesimi pulsanti con la medesima funzione.


Public WithEvents cmd As MSForms.CommandButton

'evento Click

Private Sub cmd_Click()

    'chiamata alla routine mEsegui

    'viene passato come parametro

    'il Name del CommandButton

    'sul quale si è fatto Click

    Call mEsegui(cmd.Caption)

End Sub

'routine chiamata dal dall'evento Click

Private Sub mEsegui(ByVal alfa As String)

    'MsgBox che identifica il

    'nome del CommandButton passato

    'come parametro

    'MsgBox "Hai premuto: " & alfa

    On Error Resume Next

    Call FormPrenotazioni.riCaricaListBox(alfa)

    Frame2.Visible = False

End Sub


questo è il codice ma i form sono quattro  (per ora) e non riesco in nessun modo a ricavare il nome del form attivo per passarlo a ricaricalistbox presente in ogni userform.

Posso farlo?

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
2020-03-21T09:36:40+00:00

Ciao Tullio,

Hai caricato il tuo file su DropBox ma, purtroppo,  non hai fornito un link in modo che io possa scaricarlo.

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

13 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-03-18T14:58:33+00:00

    Ciao Tullio,

    In attesa della tua risposta, per caricare tutte le UserForm del progetto, prova qualcosa del genere:

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

    Public Sub Tester()

        Dim VBComp As VBComponent

        Dim Obj As Object

        For Each VBComp In ThisWorkbook.VBProject.VBComponents

            If VBComp.Type = vbext_ct_MSForm Then

                With VBA.UserForms

                    Set Obj = .Add(VBComp.Name)

                    Obj.Show vbModeless

                End With

            End If

        Next VBComp

    End Sub

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

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-03-18T12:47:14+00:00

    Ciao Tullio,

    Ciao Norman, mi fa piacere rileggerti dopo almeno 5 anni di mia inattività.

    Sicuramente non mi sono spiegato  e cerco di farlo meglio.

    Nel progetto ci sono 4 UserForm e precisamente:

    FormInserimentoClienti

    FormInserimentoAgenzie

    FormPrenotazioni

    FormAltre

    Su ciascun form è presente una frame che contiene questi pulsanti che mi servono a ricercare i nominativi immessi in base alla selezione A,B,D ecc. che sul click diventa la variabile (alfa) che viene passata al Form per la ricarica della ListBox.

    Dato che il codice è nel modulo di classe clsCommandButton servirebbe un ciclo per ricaricare il form passandogli la variabile.

    qualcosa come :

    If (non so cosa) then

          Call UserFormMioNome.riCaricaListBox(alfa)

    end if

    Spero di essere stato chiaro

    Tullio

    Quello che non riesco a fare è una routine di scelta

    Forse non ho capito, ma è possibile ricaricare, in modo dinamico, il controllo ListBox sulla UserForm attiva senza ricaricare la userform.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-03-18T10:53:25+00:00

    Ciao Tullio,

    per il progetto di booking, (per il quale ringrazio casanmaner) avrei ora la necessità di sfruttare un routine che controlla i pulsanti di una frame nel form utilizzandola con tutti i form del progetto che hanno i medesimi pulsanti con la medesima funzione.


    Public WithEvents cmd As MSForms.CommandButton

    'evento Click

    Private Sub cmd_Click()

        'chiamata alla routine mEsegui

        'viene passato come parametro

        'il Name del CommandButton

        'sul quale si è fatto Click

        Call mEsegui(cmd.Caption)

    End Sub

    'routine chiamata dal dall'evento Click

    Private Sub mEsegui(ByVal alfa As String)

        'MsgBox che identifica il

        'nome del CommandButton passato

        'come parametro

        'MsgBox "Hai premuto: " & alfa

        On Error Resume Next

        Call FormPrenotazioni.riCaricaListBox(alfa)

        Frame2.Visible = False

    End Sub


    questo è il codice ma i form sono quattro  (per ora) e non riesco in nessun modo a ricavare il nome del form attivo per passarlo a ricaricalistbox presente in ogni userform.

    Posso farlo?

    Prova:

            Call FormPrenotazioni.riCaricaListBox(Me.Name)

    ===

    Regards,

    Norman

    Ciao Norman, mi fa piacere rileggerti dopo almeno 5 anni di mia inattività.

    Sicuramente non mi sono spiegato  e cerco di farlo meglio.

    Nel progetto ci sono 4 UserForm e precisamente:

    FormInserimentoClienti

    FormInserimentoAgenzie

    FormPrenotazioni

    FormAltre

    Su ciascun form è presente una frame che contiene questi pulsanti che mi servono a ricercare i nominativi immessi in base alla selezione A,B,D ecc. che sul click diventa la variabile (alfa) che viene passata al Form per la ricarica della ListBox.

    Dato che il codice è nel modulo di classe clsCommandButton servirebbe un ciclo per ricaricare il form passandogli la variabile.

    qualcosa come :

    If (non so cosa) then

          Call UserFormMioNome.riCaricaListBox(alfa)

    end if

    Spero di essere stato chiaro

    Tullio

    Quello che non riesco a fare è una routine di scelta

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-03-18T09:38:58+00:00

    Ciao Tullio,

    per il progetto di booking, (per il quale ringrazio casanmaner) avrei ora la necessità di sfruttare un routine che controlla i pulsanti di una frame nel form utilizzandola con tutti i form del progetto che hanno i medesimi pulsanti con la medesima funzione.


    Public WithEvents cmd As MSForms.CommandButton

    'evento Click

    Private Sub cmd_Click()

        'chiamata alla routine mEsegui

        'viene passato come parametro

        'il Name del CommandButton

        'sul quale si è fatto Click

        Call mEsegui(cmd.Caption)

    End Sub

    'routine chiamata dal dall'evento Click

    Private Sub mEsegui(ByVal alfa As String)

        'MsgBox che identifica il

        'nome del CommandButton passato

        'come parametro

        'MsgBox "Hai premuto: " & alfa

        On Error Resume Next

        Call FormPrenotazioni.riCaricaListBox(alfa)

        Frame2.Visible = False

    End Sub


    questo è il codice ma i form sono quattro  (per ora) e non riesco in nessun modo a ricavare il nome del form attivo per passarlo a ricaricalistbox presente in ogni userform.

    Posso farlo?

    Prova:

            Call FormPrenotazioni.riCaricaListBox(Me.Name)

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento