|
Domanda.
nome=imerio
cognome=pinsuti
versione=2000
conosco2=medio
vba=SI
macro=SI
email=pinsuti.imerio@katamail.com
chri=479
problema=Carissimo Ennius complimenti vivissimi per il tuo sito che mi ha
aiutato tantissimo a crescere e conoscere excel e te ne ringrazio. Ma
passerei alla mia domanda,ho cercato per mari (internet) et monti (libri)et
praterie (guida in linea) una soluzione al mio quesito , ma non ci sono
riuscito oppure non ho compreso. La mia domanda e' questa :
Si puo'inserire in una userform n.2 o + commandbutton attraverso il codice
vba in un evento o in una macro ? Se si come si puo' fare?
Di nuovo grazie da Imerio.
Risposta.
salve Imerio, si può fare, ma dopo con i commandbuton inseriti cosa vuoi
fare? lanciare delle istruzioni? A me pare un lavoraccio. Soprattutto per i
problemi legati all'identificazione dei controlli inseriti rispetto ai
command già presenti, e poi perchè dovresti creare via vba anche le
istruzioni da assegnare ai pulsanti aggiunti. Ripeto, ognuno può fare ciò
che crede, ma ricorda che per ogni command dovrai fornire anche la posizione
in cui apparire sulla form, mah? Io inserirei già tutti i pulsanti di cui
prevedo l'esistenza, con relative macro inserite nell'evento Click del
commandbutton, poi imposterei la proprietà Visible =
False a tutti quei command che dovranno essere visibili solo al
bisogno, e quindi userei un istruzione più semplice, NON per aggiungere un
nuovo pulsante, ma per renderlo visibile, tipo
Sub comand3()
If UserForm1.Visible = True Then
UserForm1.CommandButton3.Visible = True
End If
End Sub
questa istruzione la metterei in una macro, esterna all'userform,
richiamabile da un pulsante sul foglio di lavoro.
Ricorda di settare la proprietà ShowModal della
UserForm a False.
Comunque questa sotto è una macro per aggiungere un commandbutton in una
form, da associare ad un pulsante: prima apre la userform e poi gli aggiunge
un cmdbtn, posizionandolo:
Sub pippo()
UserForm1.Show
Set Mycmd = UserForm1.Controls.Add("Forms.CommandButton.1")
Mycmd.Left = 18
Mycmd.Top = 50
Mycmd.Width = 105
Mycmd.Height = 20
Mycmd.Caption = "This is fun."
End Sub
Dovrai però anche inserire nella sezione Generale -
Dichiarazioni della userform questa dichiarazione:
Dim Mycmd As Control
Di più non posso farti, saluti, ennius
|