textbox dinamiche ciclo do
Hai un problema con Excel? 
textbox dinamiche ciclo do
di Andrea (utente non iscritto) data: 21/09/2013 18:59:35
Salve a tutti
premetto che sono alle prime armi con vba come potrete vedere dalla richiesta di aiuto e spero possiate darmi una mano.
Vi spiego cosa vorrei riuscire a fare
All'interno di una userform ho creato una CheckBox che una volta selezionata mi "espande" le dimensioni della userform mostrando una frame.
Volevo creare all'interno della frame una serie di righe di textbox il cui numero dipende dall'essere nullo o vuoto il valore della textbox precedente.
praticamente dovrebbe a crearsi in una nuova riga una nuova textbox.
ho creato quindi un ciclo do loop until che vedere sotto.
e qui nasce il problema.
non riesco a salvare i dati , nel senso il ciclo si ferma immediatamente perchè non mi lascia inserire alcun valore, o meglio si ferma perchè il ciclo vede subito una riga vuota.
come faccio a " stoppare " questo ciclo per inserire questo valore e salvarlo in "Worksheets("Start").Cells(2 * i + 1, 2 * jjjj + 2).Value" e poi ripartire con questo ciclo nuovamente per inserire altri valori?
con che nome viene salvato un valore di una textbox dinamica?
ho provato di tutto ma con scarsi risultati quindi ho pulito il codice perche fosse il più comprensibile possibile
grazie a tutti dell'aiuto
Private Sub CheckBox1_Click()
Dim laB1 As Control
i = Worksheets("Foglio3").Range("A1").Value
If CheckBox1.Value = True Then
With UserForm2
.Width = 1000
End With
jjjj = 0
Do
jjjj = jjjj + 1
Worksheets("Grafico").Range("B" & i).Value = jjjj
Set laB1 = Frame2.Controls.Add("Forms.TextBox.1")
With laB1
.Name = "chkDemo" & jjjj
.Height = 20
.Width = 100
.Left = 20
.Top = 10 * jjjj * 2 + 30
End With
'?????
'?????
' Worksheets("Start").Cells(2 * i + 1, 2 * jjjj + 2).Value = ??????
Loop Until Worksheets("Start").Cells(2 * i + 1, 2 * jjjj + 2).Value = 0 Or Empty
End If
End Sub |
di Vecchio Frac data: 22/09/2013 14:33:41
Forse si può pensare a soluzion migliori.
Comunque ti invito a riflettere sull'ultima riga quella che contiene la condizione del Loop:
Loop Until Worksheets("Start").Cells(2 * i + 1, 2 * jjjj + 2).Value = 0 Or Empty
Sicuro che faccia quello che ti aspetti? A cosa serve Or? che cosa fa? che risultato ottieni mettendo in Or un valore di tipo integer e il valore vuoto?
Vuoi Approfondire?