Estructura do until
Publicado por Luciano Miranda (1 intervención) el 30/01/2020 15:11:50
Hola como estás? Soy nuevo en visual basic y tengo un código en el que se crean en tiempo de ejecución una cierta cantidad de labels a partir de una selección de un combobox. Cuando depuro el programa todo sale bien, se crean los labels que necesito y cambian según la opción elegida en combobox, pero el formulario pareciera que siguiera agregando lineas y se hace cada vez más grande. Este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Mostrarvardeproceso()
Dim fila As Integer
Dim TopControl As Integer
Dim Labelleft As Integer
Dim Vardeproceso As String
Dim producto As String
Dim columna As Integer
Dim Nombredelabel As Integer
producto = ComboBox1.Value
TopControl = 60
Labelleft = 5
fila = 5
columna = 1
Nombredelabel = 0
For columna = 1 To 10
Vardeproceso = Sheets("Tabladinámicavardeprocesohoja").Cells(fila, columna)
Do Until Vardeproceso = ""
Vardeproceso = Sheets("Tabladinámicavardeprocesohoja").Cells(fila, columna)
Set Label = UserForm1.Controls.Add("forms.label.1")
Label.Left = Labelleft
Label.Top = TopControl
Label.Caption = Vardeproceso
Label.Width = 100
Label.Name = "etiqueta" & (Nombredelabel)
Nombredelabel = Nombredelabel + 1
fila = fila + 1
TopControl = TopControl + 40
Vardeproceso = Sheets("Tabladinámicavardeprocesohoja").Cells(fila, columna)
UserForm1.Height = UserForm1.Height + 20
UserForm1.Height = UserForm1.Height + 20
Loop
fila = 4
Labelleft = 100
Labelleft = Labelleft + (columna * 30)
Label.Width = 70
TopControl = 40
Nombredelabel = Nombredelabel + 1
Next columna
End Sub
Valora esta pregunta


0