Formulario que se abra al dar click en determinadas celdas y el dato ingresado en el formulario se copie a la celda respectiva

Hoy tengo un super reto que es el siguiente:

Tengo una hoja llama "Ingreso" y en ella tengo las siguientes celdas combinadas:

"C27:J27"  ;  "C30:J30"  ;  "C33:J33"  ;  "C36:J36"  ;  "C39;J39"  ;  "C42:J42"  ;  "C45:J45"  ;  "C48:J48"  ;  "C51:J51"  ;  "C54:J54"  ;  "C57:J57"  ;  "C60:J60"  ;  "C63:J63"

Quisiera una instrucción en la hoja "Ingreso" que al dar doble click en cualquiera de esas celdas combinadas, se abriera automáticamente un formulario. El formulario únicamente solicitará 1 Dato a través de un Cuadro Combinado (ComboBox). Lo interesante del formulario es que las opciones a ingresar a ese ComboBox son únicamente las correspondientes a una lista determinada en la hoja "Constantes" de la columna "F" y que el ComboBox tenga la función de autocompletar para evitar tener que escribir toda la palabra o frase.

Despues de escribir la palabra o frase en el ComboBox, y dar click en "Registrar" lo que haga el formulario es copiar esa palabra o frase, en la misma celda donde fue activado el ComboBox y lógicamente se cierra el formulario.

1 respuesta

Respuesta
1

Pon lo siguiente en los eventos de tu hoja "Ingreso"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Por.Dante Amor
    If Not Intersect(Target, Range("C27:J27, C30:J30, C33:J33, C36:J36, C39:J39," & _
                                   "C42:J42, C45:J45, C48:J48, C51:J51, C54:J54 ," & _
                                   "C57:J57, C60:J60, C63:J63")) Is Nothing Then
        UserForm1.Show
    End If
End Sub

Pon lo siguiente en tu formulario

Private Sub CommandButton1_Click()
'Por.Dante Amor
    ActiveCell.Value = ComboBox1
    Unload Me
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h = Sheets("Constantes")
    For i = 2 To h.Range("F" & Rows.Count).End(xlUp).Row
        ComboBox1.AddItem (h.Cells(i, "F"))
    Next
End Sub

s a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas