Siguiendo con el tema del video Nº 87 (pasar datos de una lista), en esta entrada dejo la guía de ese modelo, más otros casos de cómo compartir controles como un Calendario (u otras herramientas y/o controles).
Caso 1: Pasar datos de una lista a campos del mismo Userform. Se envía el contenido de cada columna a los controles correspondientes:
TextBox8 = ListBox1.List(ListBox1.ListIndex, 0)
ComboBox3 = ListBox1.List(ListBox1.ListIndex, 1)
Caso 2: Pasar datos de una lista ubicada en otro formulario. Anteponer, en cada control, el nombre del formulario que recibe los datos de la lista.
UF_UsoMaterial.TextBox8 = ListBox1.List(ListBox1.ListIndex, 0)
UF_UsoMaterial.ComboBox3 = ListBox1.List(ListBox1.ListIndex, 1)
NOTA: Otra manera de escribir el código sería con la estructura With... End With
With UF_UsoMaterial.TextBox8 = ListBox1.List(ListBox1.ListIndex, 0).ComboBox3 = ListBox1.List(ListBox1.ListIndex, 1)End With
La programación será para este caso:
En un módulo, declarar una variable pública para guardar la fecha seleccionada.
Public FechaCalendario As String
Cada botón de llamada tendrá las instrucciones para llamar al control Calendar y guardar el contenido de la variable en el textbox o campo que corresponda. (Ajustar los nombres de los controles)
Private Sub CommandButton8_Click()Calendario.ShowTextBox10 = FechaCalendarioEnd Sub
En el Userform que contendrá el Calendario, buscar el evento Clic y desde allí guardar la fecha seleccionada en la variable ya declarada.
Private Sub CAL_Click()FechaCalendario = Fechas(DD)Unload MeEnd Sub