Visual Basic para Aplicaciones - acortar el ciclo for

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 21
Ha aumentado su posición en 2 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

acortar el ciclo for

Publicado por mauricio (8 intervenciones) el 30/07/2020 16:45:54
Como podria meter acortar el siguiente codigo,en un ciclo for,ya que solo ira cambiando el numero de combobox:
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
Private Sub Combobox5_Change()
 
    On Error Resume Next
    valor = ComboBox5.List(ComboBox5.ListIndex, 0)
    If valor = "" Then
        If ComboBox5 <> "" Then
            MsgBox "No se permiten valores diferentes a los del combo", vbCritical, "Error"
            ComboBox5.SetFocus
            ComboBox5 = ""
        End If
    End If
 
    If ComboBox1 = "lun" Then
    Call ValidarCelda2
 
End If
If ComboBox1 = "mar" Then
    Call ValidarCelda2
 
End If
If ComboBox1 = "mié" Then
    Call ValidarCelda2
 
End If
If ComboBox1 = "jue" Then
    Call ValidarCelda2
 
End If
If ComboBox1 = "vie" Then
    Call ValidarCelda2
 
End If
If ComboBox1 = "sáb" Then
    Call ValidarCelda2
 
End If
    If ComboBox1 = "dom" Then
    Call ValidarCelda2
 
End If
End Sub




espero y puedan ayudarme

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de David
Val: 40
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

acortar el ciclo for

Publicado por David (10 intervenciones) el 31/07/2020 05:36:03
Debes adjuntar mas imagenes de lo que quieres conseguir.
Pero el siguiente ejemplo (dentro del userform) recorre todos los combox y le ingresa un "1" a cada uno.

'al iniciar el formulario (userform1) se activa el loop
1
2
3
4
5
6
7
8
9
10
Private Sub UserForm_Initialize()
 
    Dim cmb As ComboBox, i As Integer
 
    For i = 1 To 2
        Set cmb = UserForm1.Controls.Item("ComboBox" & i)
        cmb.AddItem "1"
    Next i
 
End Sub




loopcombobox_dj.vivanco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar