• Domingo 22 de Diciembre de 2024, 03:59

Autor Tema:  Problemas Con Vlokup  (Leído 1397 veces)

erojasb

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Problemas Con Vlokup
« en: Martes 10 de Julio de 2007, 04:12 »
0
Hola.
A quien me pueda ayudar estoy programando la funciòn vlookup en una macro que corre con un command button. El programa como tal corre bien, pero la celda en la cual se refleja el resultado del vlookup programado aparece como #NOMBRE por que la matriz en la cual busca el resultado aparece encerrada entre comillas sencillas. Cuando retiro estas comillas sencillas directamente sobre el la hoja de calculo de excel el resultado que busco aparece bien.

Ojala alguien me pueda decir como hacer para evitar que sigan apareciendo estas comillas sencillas.

El codigo uilizado es

Private Sub CommandButton1_Click()
Fext = "=VLOOKUP(RC[-4],b3:n10000,12,0)"
Sheets(1).Cells(4, 5).Value = Fext
End Sub

El resultado leido en la hoja de calculo al pararme sobre la casilla del resultado es
=BUSCARV(A4,'B3':'N10000',12,0).

Como ven hay unas comillas sencillas que no permiten mostrar el resultado.

erojasb

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Problemas Con Vlokup
« Respuesta #1 en: Domingo 5 de Agosto de 2007, 02:02 »
0
Ya resolvì mi problema.
Me parece algo muy util asì que lo publico en caso de que a alguien le pueda interesar.
Al utilizar funciones de excel como lo es el vlookup (que en español es buscarv), y otras similares que requieren seleccionar matrices, todo lo que hay que hacer hacer ls referencias a las columnas con C y alas flas con R, asì cuando me paro sobre una hoja de calculo y quiero seleccionar la matriz a2:b4, debo trabajarla  como R1C2:R4C2.

Ahora, el problema con trabajar las funciones de excel de este modo es que los resultados que arroja la formula no son reconocidos por visual hasta que se les asigne una celda sobre la cual se ubicarà el valor del resultado.
Es por esto que la linea de codigo debe trabajarse de la siguiente manera:

Fext = "=VLOOKUP(RC[-4],R3C2:R10000C3,2,0)"
Sheets(1).Cells(4, 5).Value = Fext

Notese que el pimer comando de la formula trabaja en la columna -4, esto por que el valor a buscar se encuentra 4 columnas antes que la columna donde esta la celda que tendrà el valor de la funciòn.

Se que es un poco complicado de entender esto, la mejor manera de comprenderlo mejor es grabar la macro y analizar el codigo.

Espero que haya sido util para alguien.