Como puedo seleccionar un dato especifico de una base de datos de excel y mostrarlo en un formulario

Hola tengo una base de datos en excel con: año, dpto , nota  y mes y en VBA un formulario con 4 combos y todas las posibles alternativas, un cmdbutton que al presionarlo me arroje en un textbox con la nota del mes seleccionado, es decir, si coinciden el dpto, el mes y el año me arroje la nota de ese mes

Ej

año       Mes        Dpto    Nota

2011     Enero        02     15,4

2012     Febrero     04     14,2

2012     Febrero    06      16,7

Si selecciono en los combos Año=2012 Mes= Febrero Dpto=04 me debe arrojar en el Texbox=14,2 al presionar el cmdbutton

Espero me puedan ayudar he intentado de varias maneras y me arroja procedimiento muy largo

Saludos

1 Respuesta

Respuesta
1

Estas son las macros que necesitas: una para cargar los combos y otra para el botón. Si quieres me dices un mail y te lo mando hecho. Recuerda finalizar y puntuar mi labor.

Private Sub CommandButton1_Click()

Set busca1 = ActiveSheet.Range("a2:a" & Range("a65000").End(xlUp).Row).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)

Set busca2 = ActiveSheet.Range("b2:b" & Range("b65000").End(xlUp).Row).Find(ComboBox2.Value, LookIn:=xlValues, lookat:=xlWhole)

Set busca3 = ActiveSheet.Range("c2:c" & Range("c65000").End(xlUp).Row).Find(ComboBox3.Value, LookIn:=xlValues, lookat:=xlWhole)

If Not busca1 Is Nothing And Not busca2 Is Nothing And Not busca3 Is Nothing And busca1.Row = busca2.Row And busca3.Row = busca1.Row Then

ubica = busca1.Address

TextBox1.Value = Range(ubica).Offset(0, 3)

Else

MsgBox "no coinciden los campos"

TextBox1.Value = ""

End If

End Sub

Private Sub UserForm_Initialize()

ComboBox1.RowSource = "a2:a" & Range("a65000").End(xlUp).Row

ComboBox2.RowSource = "b2:b" & Range("b65000").End(xlUp).Row

ComboBox3.RowSource = "c2:c" & Range("c65000").End(xlUp).Row

End Sub

Hola Mi correo es [email protected]

Gracias!!!

Ya te lo he enviado

Recuerda finalizar y puntuar mi labor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas