› Sviluppare funzionalita su Microsoft Office con VBA › Copiare da una combobox ad una Textbox
-
AutoreArticoli
-
Ciao a tutti, sono di nuovo qui. Causa il saltuario utlizzo del vba spesso non mi ricordo alcune cose anche quelle elementari. ho una Userform dove dopo vari passaggi arrivo a sceglire dei dati dalla ComboBox4. Mi servirebbe di prendere quei dati inserirli o nella Textbox4 o in una cella del foglio chiamato Servizio. con tutta tranquillita nel codice ho inserito questa riga che viene eseguita premendo un bottone che esegue anche altre cose, nella textbox non sono comparsi i dati che mi servivano. Non mi spiego perchè, ma quando riprendo qualche codice è sempre così. Questa è la riga di codice che ho inserito: UserForm1.TextBox4.Text = UserForm1.ComboBox4.Text. poi ho cercato un altra soluzione scrivendodirettamente in un cella con questa riga di codice:
Dim sh3 As Worksheet: Set sh3 = Worksheets("Servizio")
sh3.Range("A2") = UserForm1.ComboBox4.Value
anche in questo caso niente.
Non vi scrivo il codice che nel vecchio file eseguiva questa cosa, perchè non mi capacito di aver scritto quel listato, sto cercando piano pina di venirci a capo
grazie per un vostro eventuale aiuto
Fabrizio61 wrote:sh3.Range("A2") = UserForm1.ComboBox4.Value
la form si chiama sempre userform1?
ComboBox4.Value con .text
ricorda che il dato ritornato da una combobox è una stringa
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire )Fabrizio61 wrote:Non mi spiego perchè, ma quando riprendo qualche codice è sempre così
E' la normale entropia del cosmo. Anche detta legge di Murphy, se qualcosa può andare male, lo farà 😀
si la userform è sempre la 1
ho provato ha invertire Value con text non funziona
ad esempio qui funziona
Private Sub ComboBox23_Change() Dim depalfa, depbeta, depdelta, deplambda, depteta, depomega, depgamma, deprho, depfi, depzeta, depmela, deppera, depkiwi, depmango, fiore, polpo, AA, BB, CC, DD, EE, FF, GG, HH, KK, XX Dim var6 depalfa = "Dev.1-3AB-5AB-7AB" depbeta = "Dev.57-59-61-63-67" depdelta = "Dev.9AB-11AB-13" deplambda = "Dev.65AB-69AB-71-73" depteta = "Dev.15-17-19-21-23-25" depomega = "Dev.2-4-14-16AB" depgamma = "Dev.27-29-31-35-37" deprho = "Dev.6-8-10-12-20" depfi = "Dev.33AB-39-43-51-53" depzeta = "Dev.18-22-24-26" depmela = "Dev.41-45-47AB-49-55" deppera = "Dev.28-30-32-34" depkiwi = "Dev.48-50-52-54-56AB" depmango = "Dev.38-40-42-44-46" var6 = UserForm1.ComboBox23.Text Select Case var6 Case Is = "Magliana Deposito" UserForm1.ComboBox4.Clear For AA = 1 To 14 UserForm1.ComboBox4.AddItem Choose(AA, depalfa, depbeta, depdelta, deplambda, depteta, depomega, depgamma, deprho, depfi, depzeta, depmela, deppera, depkiwi, depmango) Next End Select UserForm1.TextBox2.Text = UserForm1.ComboBox23.Text End Sub
come in altri codici
edit by VF: mi sono permesso di dare al testo la formattazione del codice 🙂
Tecnicamente, il codice incriminato
`Dim sh3 As Worksheet: Set sh3 = Worksheets("Servizio") sh3.Range("A2") = UserForm1.ComboBox4.Value`
(scusate è partito invio) è valido e funziona.
Deve esserci qualcosa d'altro che non va. Puoi allegare il file?
Scusate risolto il cervello piano piano riparte , gli anni passano purtroppo
Bene, come hai risolto?
Ho tolto le righe sopracitate da UserForm_Initialize()
e lo faccio eseguire su un listato che parte quando premo un CommandButton2_Click()
Peccato che non avessi detto subito che il codice fosse in Initialize. Il form è ancora in fase di costruzione i controlli non sono ancora attivati. Comunque meglio così.
-
AutoreArticoli