Ordine controlli su userform
Hai un problema con Excel? 
Ordine controlli su userform
di Lucas87 (utente non iscritto) data: 13/03/2014 11:54:43
Ciao.
Sono ancora qui per chiedere consigli su userform.
Ho una situazione con 15 textbox e 2 combobox.
Una volta compilati i vari elementi dovrei riportarli sul foglio secondo un certo ordine.
es: textbox12-combobox1-textbox11-combobox2-textbox1-textbox2-.....-textbox10-textbox15
Usando for each ctl in userform.controls.... posso scorrere tutti i controlli e l'ordine sembra essere quello di creazione. Ovviamente (non sapendolo prima) ho creato i controlli con un ordine diverso. Quindi vorrei sapere: è possibile cambiare questo ordine o mi tocca cancellare tutto e ripartire da zero stando attento all'ordine ?
Ho già provato a modificare TabIndex nelle proprietà dei controlli, ma non ha funzionato.
di Vecchio Frac data: 13/03/2014 12:14:48
Bè mettili in un array, nell'ordine desiderato.
option explicit
sub ricopia
dim v as variant, i as integer
for each v in array("textbox12", "combobox1", "textbox11")
range("a1").offset(i) = v
i = i + 1
next
end sub |
di lepat (utente non iscritto) data: 13/03/2014 12:15:54
puoi verificare il tipo di controllo ed il suo nome, vedi codice
Private Sub a()
For Each cCont In UserForm1.Controls
If TypeName(cCont) = "TextBox" Then
MsgBox cCont.Name
End If
Next
End Sub
|
di Lucas87 data: 13/03/2014 12:55:54
Ti bacerei....
Grazie
di Lucas87 data: 13/03/2014 12:57:52
Ops...
Dimenticavo...vanno tolti gli apici dall'array altrimenti li vede come testo
option explicit
sub ricopia
dim v as variant, i as integer
For Each v In Array(TextBox2, ComboBox2, TextBox3, ComboBox1, TextBox1)
range("a1").offset(i) = v
i = i + 1
next
end sub |
di Vecchio Frac data: 13/03/2014 16:15:04
No, secondo me hai preso un abbaglio. Gli apici servono.
Altrimenti ti riferisci agli oggetti stessi e allora devi specificare la proprietà desiderata:
Range("a1").Offset(i) = v.Name
di Lucas87 data: 13/03/2014 16:53:14
Si scusa. Avevo semplicemente copiato il codice.
Nel mio caso invece serviva che venissero passati gli oggetti
Vuoi Approfondire?