Solicitud de Adaptar macro encontrada en Internet a mi caso particular
Para D.A.N.T.E
En Internet encontré esta macro para un combobox que es aproximada a lo que necesito, es la siguiente (Es una Guia):
Private Sub ComboBox1_change()
'cargamos listado desde la tabla 'datos' previamente creada...
ComboBox1.ListFillRange = "datos"
Dim ListadoDatos As Range
Dim Buscado As Object
'Definimos la variable ListadoDatos
Set ListadoDatos = Range("datos")
'Definimos una variable 'buscado'
Set Buscado = Nothing
'damos un valor a la variable 'buscado'
Set Buscado = ListadoDatos.Find(ComboBox1.Value)
If Buscado Is Nothing Then
'Si el dato escrito no está en la lista arroja el siguiente error
MsgBox "El dato introducido [" & ComboBox1.Value & "] no se encuentra en la lista", vbInformation, _
"Detalle del error..."
'ESO ES LO QUE DICE EL EJEMPLO PERO AQUI LO QUE YO NECESITO ES LO AGREGUE A LA LISTA Y LO COPIE EN LA CELDA ACTIVA, COMO LO EXPLICO MAS ABAJO.
Else
'si está, entonces devuelve el valor del 'importe' correspondiente
Range("F2").Value = Range("datos").Offset(ComboBox1.ListIndex, 1).Value
'ESTO ES LO QUE HACE EL EJEMPLO PERO AQUI LO QUE YO DESEO ES QUE LO COPIE EN LA CELDA ACTIVA, LO EXPLICO MAS ABAJO.
End If
Set ListadoDatos = Nothing
Set Buscado = Nothing
End Sub Actualmente tengo las siguientes instrucciones:
Private Sub CommandButton1_Click()
'Por.Dante Amor
Set h1 = Sheets("Constantes")
u = h1.Range("K" & Rows.Count).End(xlUp).Row + 1
h1.Range("K" & u) = ComboBox1
ActiveCell.Value = ComboBox1
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
Set h = Sheets("Constantes")
For i = 1 To h.Range("K" & Rows.Count).End(xlUp).Row
ComboBox1.AddItem (h.Cells(i, "K"))
Next
End SubLo que necesito es que me ayudes a adaptar la macro que encontre en internet para mi caso particular que seria algo asi como lo siguiente:
Que yo escriba un valor (palabras) en el combobox y cuando ejecute el botón CommandButton1 lo que primero haga es buscar si en la hoja "Constantes" y columna "K" esa palabra se encuentra, si se encuentra entonces entonces solo ejecuta la instrucción :
ActiveCell.Value = ComboBox1 Unload Me
Pero si no la encuentra entonces ejecuta las instrucciones:
Set h1 = Sheets("Constantes")
u = h1.Range("K" & Rows.Count).End(xlUp).Row + 1
h1.Range("K" & u) = ComboBox1
ActiveCell.Value = ComboBox1
Unload MeMe ayudas
2 Respuestas
Respuesta de Miguel Angel
1
Respuesta de Dante Amor
1