Saltar al contenido

Macro Vlookup

publicado

Hola,

 

Estoy intentando aprender macros sencillas, pero me enganche en el Vlookup, no consigo hacer uno sencillo que me añada el nombre de un codigo que esta en otra pestaña.

 

Que me falta o me sobra!?!?

 

Basicamente quiero que me añada en la columna H el nombre del Codigo.

 

Sub Vlookup()

Dim Destination
Dim Name
Dim Cont


Cont = 2

Do While Range("A" & Cont) <> ""


Range("K" & Cont).Select
Application.WorksheetFunction.Vlookup Range("H" & Cont), Worksheets("Sheet2").Columns("A:B"), 2, 0

Cont = Cont + 1

Loop

End Sub

Vlookup.xlsm

Featured Replies

publicado

Pon un antes y un después, para ver lo que necesitas.

publicado
  • Autor

Hola,

En el antes tengo el código de destino en la columna H y quiero añadir en la columna K el nombre del destino y después en la L el mail. 

Las pantallazos que pongo abajo esta en el sheet1, pero el codigo y la informacion en el sheet2.

Necesito hacerlo con el VLOOKUP porque el mail puede ir variando y tambien porque con este ejemplo puedo cerrar mas cosas.

Gracias de antemano.

 

Antes

image.thumb.png.c4d98cc4a4dd8933dca35c06ecab6c72.png

 

 

Después

image.thumb.png.56122b0f971be120bfbc623e29d2929b.png

publicado
  • Autor

Gracias, pero necesito que rellene todas las columnas pasando la macro. Es una tabla que después la tenemos que cargar en otro sistema y tiene que tener siempre las mismas columnas.

 

Ahora hacemos un simple Vlookup, pero queremos envitar hacerlo manualmente y que pueda automatizarse.

publicado

Entonces se supone que en la hoja2 tienes una tabla con name y mail para todos los códigos de la hoja1 verdad?

 

publicado
  • Autor

Si, solo puse uno para las pruebas

publicado
  • Autor

Ya lo conseguiVlookup.xlsm

 

Cambiando la formula si me ha funcionado.

Sub Vlookup()


Dim Cont


Cont = 2

Do While Range("A" & Cont) <> ""


    Range("K" & Cont).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],Sheet2!C[-10]:C[-9],2,FALSE)"
    Range("L" & Cont).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],Sheet2!C[-11]:C[-9],3,FALSE)"
  
      

Cont = Cont + 1

Loop

End Sub
 

publicado
  • Autor

Es mas rapido que lo que yo conseguí. Como tenemos listados de muchas líneas parece que nos ahorra tiempo.

Muchas graciasss

publicado

Me alegro, pero nunca olvides agradecer a quien te ayuda o intenta ayudar y en el foro se agradece mediante el corazoncillo que hay en la parte inferior derecha, un saludo.

Agradecimiento.gif

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.