Salve a tutti,
seguendo il suggerimento di Zer0Kelvin ho spostato qui il seguito di un precedente Topic.
Avrei bisogno di aiuto e chiarimenti..
Ho creato un UserForm per l'immissione di dati inerenti libri. Con un ciclo invio il contenuto dei miei TextBox in un foglio chiamato "DB_LIBROS".
....codice...
For Each ctr In .Controls
If TypeOf ctr Is MSForms.TextBox Then
MyCol = MyCol + 1
Sheets("DB_LIBROS").Cells(r, MyCol) = ctr.Text
ctr.Text = ""
End If
Next
...codice....
poiché alcuni TextBox richiedono l'immissione di dati che potrebbero essere giá stati inseriti in precedenza per altri libri (es.: Autor, Editor, Proveedor, ecc.), ...(lo spagnolo é perché vivo in Argentina )..
pensavo di creare un "Foglio_Dati" dove immetto in colonne questi dati, dando, nel 'RowSource' del Control, l'opportuna referenza. Ho quindi creato i miei ComboBox..
Primo quesito : ho capito male o il ComboBox mi da la possibilitá di aggiungere anche un dato che non sia ancora presente nella sua lista? (ho giá impostato nel RowSource un range che contiene giá delle celle vuote proprio per questo scopo). Se questo é vero, la volta successiva il ComboBox mi presenterá una lista aggiornata col mio nuovo dato, esatto?
Secondo quesito : nel codice sono considerati i soli TextBox (If TypeOf ctr Is MSForms.TextBox...); quindi ho pensato di aggiungere un ComboBox al lato dei TextBox per i quali l'immissione si fa da una lista, volendo poi creare una istruzione opportuna per il TextBox che ne impedisca la digitazione e che assegni il suo valore uguale alla scelta fatta nella lista del ComboBox.
Non ho peró idea di come impedire di scrivere nel TextBox.
Terzo quesito ...posso?
Volendo strafare.. mi sono detto.. "Inizializzo lo UserForm con tutte le ComboBox.Visible = False e al GotFocus di ciascun TextBox le faccio apparire"..
Private Sub UserForm_Initialize()
ComboBox1.Visible = False
ComboBox2.Visible = False
ListBox1.Visible = False
End Sub
e poi quindi, per esempio...
Private Sub TextBox3_GotFocus()
ComboBox1.Visible
Set TextBox3.Value = ComboBox1.Value
End Sub
ma sembra che non gli piaccia la mia istruzione.. a questo punto mi sa che non ho capito come si assegna il Focus; pensavo che quando il cursore si sposta su un TextBox questi ne riceve il Focus, ma non deve essere cosí.. Il mio ComboBox1 resta invisibile..
Come faccio?
É possibile fare tutto ció che ho esposto? e come?
Grazie a tutti per la pazienza e scusate la lungaggine..
Rael