Función buscarV con macros

Señores:
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 ojo 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 si alguien tiene un mejor análisis que el mio y me pueda explicar el motivo de mi error.

1 respuesta

Respuesta
1
En principio cambiando A1 por S1 alcanza, ya que la variable &#39;posicion&#39; es de fila y no de col
También debés quitar el agregado de Range(&quot;A1&quot;) que aparece al final de la línea de posicionamiento
Luego del primer &#39;wend&#39; quedaría así:
Sheets(&quot;hoja2&quot;).Select
Posicion = Posicion + 1
Range(&quot;S1&quot;).Select
ActiveCell.Offset(Posicion - 1, 0).Select
Wend
&#39;sigue
Pruébala y si quedó todo bien no olvides regresar y finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas