Error al ejecutar código de UserForm en Excel

Para Dante Amor:

Estimado experto, al ejecutar el frm_RP e introducir en el cbm_NCI números como: 1, 2, 4, 5, 6, 7 la aplicación funciona con normalidad, pero cuando ingreso el número 3 la aplicación no responde, luego de un tiempo excel se reinicia, y por esto no puedo determinar en que linea está el error.

2 Respuestas

Respuesta
1

Ten en cuenta que existen diferentes métodos para ingresar los datos, me gustaría saber en que forma lo estas haciendo para así mismo determinar que es lo que sucede sin embargo, yo recomiendo crear un rango y en la propiedad Rowsource poner el nombre del rango que acabas de crear.

Estimado Leonardo:

Estoy utilizando un listbox (cbm_NCI) el cual se carga a partir de la celda A5, hasta la última celda activa de la hoja "PRESTAMOS DE USUARIOS"

Desde ya, gracias por dedicar su tiempo en ayudarme en este problema

Saludos cordiales

Blás

En mi caso lo haría de dos posibles formas puedes usar la que gustes:

1. Selecciono todo el rango y le doy un nombre.

Range("A5").CurrentRegion.Name = "R_Base"

2. Le asigno la propiedad RowSource con el nombre que le acabo de dar
cbm_NCI.RowSource = "R_Base"

La segunda forma es simplemente cambiar el current región por el rango que deseas tener en este caso seria así:

1. RANGE( Range("A5"), RANGE("A100000").END(XLUP)).NAME="Nombre"

Y de nuevo le asignamos ese nombre al rango así:

cbm_NCI.RowSource = "Nombre"

NOTA: Este código lo debes poner en el evento active del formulario para que así cada vez que lo abras refresque el rango y tenga los valores actualizados.

Estimado Leonardo:

Yo ya poseo el código que carga los datos en el cbm_NCI este es el código que utilizo, un aporte de Dante:

Private Sub UserForm_Initialize()
Sheets("PRESTAMOS DE USUARIOS").Select
Range("A5").Select
While ActiveCell <> ""
cbm_NCI.AddItem ActiveCell
cbm_US.AddItem ActiveCell.Offset(0, 1)
ActiveCell.Offset(1, 0).Select
Wend

El problema es que al escribir el "3" (número tres) dentro del cbm_NCI  aplicación no responde y después de un tiempo excel se reinicia, perdona la equivocación arriba te mencione que estoy utilizando un listbox, en realidad se trata de un combobox (cbm_NCI).

Saludos cordiales

Blás

Regalarme tu correo y con gustos te envió un código que lo haga o enviame tu archivo a [email protected] para revisarlo.

Respuesta
1

H o l a:

Envíame tu archivo para revisarlo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Blás Gerardo Salinas Silguero” y el título de esta pregunta.

Estimado Dante:

ya te envíe mi archivo a tu e-mail

Desde ya gracias por tu ayuda

Saludos

Blás

H o l a:

Te anexo el código actualizado

Private Sub cbm_NCI_Change()
    If CARGANDO Then Exit Sub
    CARGANDO = True
    cbm_US = ""
    If cbm_NCI.ListIndex > -1 Then
        cbm_US = cbm_US.List(cbm_NCI.ListIndex)
    End If
    'CARGANDO = False
    ' SEARCH DATE (CI)
    Dim busco
    Dim dato As Long, I As Long
    If cbm_NCI = "" Then
        CARGANDO = False
        Exit Sub
    End If
    dato = cbm_NCI.Value
    Set hojaB = Sheets("PRESTAMOS DE USUARIOS")
    For I = 5 To hojaB.Range("A" & Rows.Count).End(xlUp).Row
        If hojaB.Range("A" & I) = dato Then
            txt_CU.Text = hojaB.Range("C" & I)
            txt_NLP.Text = hojaB.Range("D" & I)
            txt_ES.Text = hojaB.Range("G" & I)
            Exit For
        End If
    Next I
    'COLOR ALERT
    'On Error GoTo NADA
    If txt_ES = "SUSPENDIDO" Then
        txt_ES.BackColor = &HFF&      'rojo
        txt_ES.ForeColor = &H8000000E  ' BLANCO N
    Else
        txt_ES.BackColor = &HC000&     'verde
        txt_ES.ForeColor = &HFFFFFF    ' BLANCO
    End If
'NADA:
    'LOAD_LIST_DATA
    LOAD_LISTBOXDLAE_DATA
    'LOCK ADMINISTRATOR
    If txt_ES = "SUSPENDIDO" Then
        grb_DL.Enabled = False
        grb_DLAR.Enabled = False
        cbm_RL.Enabled = False
        cbm_DL.Enabled = False
        lbl_RL.Enabled = False
        lbl_DL.Enabled = False
        lbl_TL.Enabled = False
        lbl_UD.Enabled = False
        lbl_AL.Enabled = False
        lbl_EL.Enabled = False
        lbl_ENL.Enabled = False
        lbl_SL.Enabled = False
        lbl_NL.Enabled = False
        lst_LRU.Enabled = False
    Else
        grb_DL.Enabled = True
        grb_DLAR.Enabled = True
        cbm_RL.Enabled = True
        cbm_DL.Enabled = True
        lbl_RL.Enabled = True
        lbl_DL.Enabled = True
        lbl_TL.Enabled = True
        lbl_UD.Enabled = True
        lbl_AL.Enabled = True
        lbl_EL.Enabled = True
        lbl_ENL.Enabled = True
        lbl_SL.Enabled = True
        lbl_NL.Enabled = True
        lst_LRU.Enabled = True
    End If
    CARGANDO = False
End Sub

':)
':)

¡Gracias! 

Tú ayuda es muy valiosa, te agradezco por el tiempo que dedicas a mis preguntas, el código funciona a la perfección.

Un abrazo

Saludos cordiales

Blás

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas