Validación de un grupo de combobox
Te lo explico un poco mejor, tengo un formulario de vba en cual creé un multipage y tengo alrededor de 200 combobox estos son para el día el mes y el año, ("sé que sería mejor usar el datetimepicker para los casos de fecha pero no todos los equipos de mi oficina tienen habilitado esta herramienta"), continuando... Cada combobox tiene ya su propiedad rowsource por lo que en el caso del día solo es hasta 31 y en caso del mes es hasta 12 el año es independiente, como esta información la traigo de una base de datos... Aquí viene mi pregunta, TENGO QUE REPETIR ESTA SECUENCIA PARA TODAS LOS COMBOBOX, que como comenté son casi 200, existe alguna forma en que no tenga que repetir esta estructura
Dim MM As String
Dim DD As String
Dim AA As String
Application.ScreenUpdating = False
Sheets("RPCP-12 2010").Select
ActiveCell.Select
If ActiveCell.Offset(0, 26).Value = Empty Then
Formulario.ComboBox4.Value = Empty
Formulario.ComboBox5.Value = Empty
Formulario.ComboBox6.Value = Empty
Else
MM = DatePart("m", ActiveCell.Offset(0, 26))
If Len(MM) = 1 Then
Formulario.ComboBox4.Value = "0" & MM
Else
Formulario.ComboBox4.Value = MM
End If
DD = DatePart("d", ActiveCell.Offset(0, 26))
If Len(DD) = 1 Then
Formulario.ComboBox5.Value = "0" & DD
Else
Formulario.ComboBox5.Value = DD
End If
AA = DatePart("yyyy", ActiveCell.Offset(0, 26))
Formulario.ComboBox6.Value = AA
End If
Si no fui claro en mi explicación por favor me avisas, de antemano agradezco la contestación y ayuda que me puedan brindar
Dim MM As String
Dim DD As String
Dim AA As String
Application.ScreenUpdating = False
Sheets("RPCP-12 2010").Select
ActiveCell.Select
If ActiveCell.Offset(0, 26).Value = Empty Then
Formulario.ComboBox4.Value = Empty
Formulario.ComboBox5.Value = Empty
Formulario.ComboBox6.Value = Empty
Else
MM = DatePart("m", ActiveCell.Offset(0, 26))
If Len(MM) = 1 Then
Formulario.ComboBox4.Value = "0" & MM
Else
Formulario.ComboBox4.Value = MM
End If
DD = DatePart("d", ActiveCell.Offset(0, 26))
If Len(DD) = 1 Then
Formulario.ComboBox5.Value = "0" & DD
Else
Formulario.ComboBox5.Value = DD
End If
AA = DatePart("yyyy", ActiveCell.Offset(0, 26))
Formulario.ComboBox6.Value = AA
End If
Si no fui claro en mi explicación por favor me avisas, de antemano agradezco la contestación y ayuda que me puedan brindar
1 Respuesta
Respuesta de Luis Gonzalez
1