Consulta de visual basic - Excel

Que código debo usar para:
1 Leer una celda y que el valor de esa celda se guarde en una variable.
2.Aplicar una fórmula del tipo buscarv y guardar el resultado en otra variable.
Ejemplo
Leer la celda a5 esa información (bs)guardarla en la variable equipo.
Después usar una fórmula del tipo buscarv para buscar equipo (bs) -en este caso- y el resultado de eso (en este caso seria boca juniors) eso guardarlo en otra variable llamada equipo1.
Espero haber sido claro en lo que preciso y que me puedan ayudar.
Desde ya muchas gracias.

2 respuestas

Respuesta
1
Trataré de ayudarte.
1. equipo=Worksheets("Hoja1").Range("A5").Value
2. equipo1=Application.WorksheetFunction.VLookup(equipo, _
Worksheets("Hoja1"). Range("A2:AF100"), _
Columna, 0)
El único problema es que debes tener cuidado con este código pues si BUSCARV (En este caso VLookup) no encuentra el valor buscado arrojará un error que debes controlar para evitar interrupciones en el código. Si quieres mira una respuesta que di hace poco llamada "BUSCAR ULTIMA FECHA" o algo así, ahí hay un controlador de ese error que puedes copiar en tu código.
Espero haberte ayudado en algo, si necesitas alguna explicación adicional no dudes en escribirme, de otra manera te agradeceré finalizar la pregunta con una valoración acorde con la calidad y oportunidad de la respuesta.
Hola cesar tengo un problema al adecuar el código y me dice error de compilación por lo que te pido que me mandes un mail con un archivo donde tenga un pequeño ejemplo.
Sería bueno que el dato a buscar este en la hoja activa en ese momento y que la fórmula tenga que buscar ese dato en la hoja 3 y me devuelva el valor que este e la 2da columna y que yo pueda ver ese dato en un msgbox.
Desde ya agradezco tu ayuda.
Atentamente.
TECNOPUNTA
El mail para mandar el archivo es [email protected]
Ahí te envío un código como lo pediste, el valor a buscar se encuentra en la celda A2 de la hoja activa y la matriz de búsqueda se encuentra en la Hoja 3 en el rango A2:B4.
Como anotación quiero mencionarte que el objeto "Range" hace referencia a una hoja del libro pues como verás en la matriz de lo uso pero precedido del nombre de la hoja deseada, y en la primera parte lo uso sin darle el nombre de la hoja pues se trata de la hoja activa. Espero haberte ayudado en algo con esta pequeña explicación.
Sub BUSQUEDA()
dato = Application.WorksheetFunction.VLookup(Range("a2"), Worksheets("Hoja3").Range("a2:b4"), 2, 0)
MsgBox (dato)
End Sub
Por favor no olvides finalizar la pregunta.
Cordialmente,
Cesar mera
P. D. No te la envié al correo pues como ves el código es cortico.
Respuesta
1
Pasó el finde largo y aquí estamos de vuelta.
Para resolver tu primer pregunta, puedes utilizar una instrucción como la siguiente:
equipo = Range("A5").value
Desde luego, esto asume que el valor de la celda corresponde al de la hoja activa.
Luego, para la segunda parte, aplica la propiedad WorksheetFunction, de la siguiente manera:
Equipos1 = Application.WorksheetFunction.VLookup(equipo, Sheets("Hoja2").Range("B8:F787"), 2, 0)
Como notarás esta realiza la búsqueda de lo que guardaste en la primera variable dentro de un rango que está en una hoja distinta a la activa.
Espero que esto te haya servido
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas