Buscar V usando una macro

Intento realizar una búsqueda vertical en un numero indeterminado de datos.
La idea es que cuando yo ingrese un valor en la casilla "F1" de la hoja N° 1 me de los datos almacenados en la hoja 2 dispuestos en la calumna AyB(estos datos los puedo cambiar de posición, por ejemplo columnas SyT), la casilla donde ingreso también puede variar.
Revisando el portal encontré la siguiente macro:
Sub Traer()
Application.ScreenUpdating = False
Sheets("hoja2").Select
Range("A1").Select
Posicion = 1
While ActiveCell.Value <> ""
direccion = ActiveCell.Value
Sheets("hoja1").Select
Range("F1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = direccion Then
Sheets("hoja2").Select
comentario = ActiveCell.Offset(0, 1).Value
Sheets("hoja1").Select
ActiveCell.Offset(0, 1) = comentario
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Sheets("hoja2").Select
Posicion = Posicion + 1
Range("A1").Select
ActiveCell.Offset(Posicion - 1, 0).Range("A1").Select
Wend
Sheets("hoja1").Select
Range("A1").Select
End Sub
Análisis de macros:
a) Los datos originales e encuentran an la hoja 2 dispuestos a partir de la celda "A1".
b) La búsqueda se hace en función a lo digitado en la celda "F1" de la hoja 1.
c) La instrucción While me permite trabajar para un numero indeterminado de datos ingresados en la hoja 1 (F1, F2, F3,... Fn)
c) Si yo cambio el valor de "F1" por "B1" o "C1"de la hoja 1 igual me hace la búsqueda.
La consulta del caso es como puedo cambiar de posición los datos de origen:
Intente cambiar donde se visualiza "A1" de la hoja 1 por "S1" en toda la macro y no me arroja ningún valor.
Agradececeria tu ayuda en mejorar mi análisis, o brindarme una macro que haga lo que solicito.

1 Respuesta

Respuesta
1
Yo hice los cambios que tu mencionas y a mi si me funciono la macro, te paso los códigos con los cambios realizados, espero te sirva porque yo lo corro y funciona.
Sub Traer()
Application.ScreenUpdating = False
Sheets("hoja2").Select
Range("S1").Select
Posicion = 1
While ActiveCell.Value <> ""
direccion = ActiveCell.Value
Sheets("hoja1").Select
Range("F1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = direccion Then
Sheets("hoja2").Select
comentario = ActiveCell.Offset(0, 1).Value
Sheets("hoja1").Select
ActiveCell.Offset(0, 1) = comentario
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Sheets("hoja2").Select
Posicion = Posicion + 1
Range("S1").Select
ActiveCell.Offset(Posicion - 1, 0).Range("A1").Select
Wend
Sheets("hoja1").Select
Range("A1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas