Cargar listbox según rango y condición

Que tengan un excelente día. Tengo un listbox que debe cargar los datos de una hoja que tiene un nombre dado. (El mismo lo tengo en una variable). Los datos que necesito cargar al listbox están en las columnas I J QUE M. Pero debe cumplir la condición de que la columna L este vacía. Si esta vacía debe cargarse esos datos. Haré click sobre alguna de esas filas y luego procedo a hacer click en un botón que llenara la columna L en esa fila donde están esos datos y agregara la hora del sistema, se que para esto esta la función time.

Agrego unas imágenes del caso

Generalmente para conocer el nombre de la hoja que es el que varia, uso el siguiente código

Workbooks("Gestion.xlsm").Sheets(Variable.Dias).Activate

Donde Variable. Dias es donde se almacena el nombre de la hoja en cuestión.

Destaco que solo varia el nombre de la hoja los datos siempre estarán en las mismas columnas.

1 respuesta

Respuesta
3

Podrías enviarme tu archivo y me explicas con un ejemplo, cómo funciona tu fom, qué datos tienes en la hoja, qué datos quieres cargar en el listbox

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Manuel Escalona

Entendido dante. Ya te hago el envío del archivo

Hola dante buenos dias, en el correo te deje un power point explicando mejor la aplicación. Así poder aclarar las dudas que tenias. Saludos

Para cargar el listbox

Private Sub MultiPage1_Change()
    If MultiPage1.Value = 1 Then
        'Call cargalista
        'llenar el listbox
        Set h = Sheets(Variable.Dias)
        u = h.Range("I" & Rows.Count).End(xlUp).Row
        If u > 2 Then
            Lista.ColumnCount = 5
            Lista.ColumnHeads = True
            Lista.RowSource = h.Name & "!I3:M" & u
        End If
    End If
End Sub

Para registrar la hora

Private Sub CommandButton2_Click()
'Registrar hora actual
    If Lista.ListIndex = -1 Then
        MsgBox "Selecciona un registro"
        Exit Sub
    End If
    fila = Lista.ListIndex + 3
    Set h = Sheets(Variable.Dias)
    h.Cells(fila, "L").Value = Time
End Sub

.[Sal u dos. Dante Amor. No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas