A B
1 Numero letra
2 4 D
3 2 B
4 3 C
5 1 A
6
7 3
Quiero hacer una macro que ponga en B7 la letra que corresponda al numero
que se indica en A7 buscandolo en la tabla A1:B5
Yo intenté con:
Sub Macro1()
Range("B7").Value = VLookup(A7, A1:B5, 2, FALSO)
End Sub
Pero me da error. Qué estoy haciendo mal?
Gracias por adelantado
Hola Jorge,
Cambia lo que has escrito por lo siguiente:
range("B7")=application.WorksheetFunction.VLookup(range("A7"),range("A2:B5"),2)
El error salta porque vlookup, no es ninguna función de vba o no has
definido ninguna función con ese nombre.
Para emplearla puedes hacer lo que te he indicado o escribirla en la celda,
pero no creo que esa sea tu intención, de todas formas te la paso también:
range("C7").Formula="=VLookup(" & range("A7") & " ,A2:B5,2)"
Un saludo,
Juan
"Juan M" escribió:
Muy agradecido Juan!!!, acabo de probar la macro y funciona correctamente de
cualquiera de las dos maneras en que me expusiste la solución.
El escribir la formula en la celda me va a servir para otras tareas que
quiero realizar.
Nuevamente SUPER agradecido.
Jorge
muchas gracias
William Garcia
Juan M wrote:
"Jorge" escribi?Hola Jorge,Cambia lo que has escrito por lo
20-Jan-09
"Jorge" escribi?
Hola Jorge,
Cambia lo que has escrito por lo siguiente:
range("B7")=application.WorksheetFunction.VLookup(range("A7"),range("A2:B5"),2)
El error salta porque vlookup, no es ninguna funci?n de vba o no has
definido ninguna funci?n con ese nombre.
Para emplearla puedes hacer lo que te he indicado o escribirla en la celda,
pero no creo que esa sea tu intenci?n, de todas formas te la paso tambi?n:
range("C7").Formula="=VLookup(" & range("A7") & " ,A2:B5,2)"
Un saludo,
Juan
Previous Posts In This Thread:
On Tuesday, January 20, 2009 11:27 AM
Jorg wrote:
usar "buscarv" (o VLookup) en una macro
En el siguiente ejemplo:
A B
1 Numero letra
2 4 D
3 2 B
4 3 C
5 1 A
6
7 3
Quiero hacer una macro que ponga en B7 la letra que corresponda al numero
que se indica en A7 buscandolo en la tabla A1:B5
Yo intent?? con:
Sub Macro1()
Range("B7").Value = VLookup(A7, A1:B5, 2, FALSO)
End Sub
Pero me da error. Qu?? estoy haciendo mal?
Gracias por adelantado
On Tuesday, January 20, 2009 11:40 AM
Juan M wrote:
"Jorge" escribi?Hola Jorge,Cambia lo que has escrito por lo
"Jorge" escribi?
Hola Jorge,
Cambia lo que has escrito por lo siguiente:
range("B7")=application.WorksheetFunction.VLookup(range("A7"),range("A2:B5"),2)
El error salta porque vlookup, no es ninguna funci?n de vba o no has
definido ninguna funci?n con ese nombre.
Para emplearla puedes hacer lo que te he indicado o escribirla en la celda,
pero no creo que esa sea tu intenci?n, de todas formas te la paso tambi?n:
range("C7").Formula="=VLookup(" & range("A7") & " ,A2:B5,2)"
Un saludo,
Juan
On Tuesday, January 27, 2009 9:28 PM
Jorg wrote:
Re: usar "buscarv" (o VLookup) en una macro
"Juan M" escribi??:
Muy agradecido Juan!!!, acabo de probar la macro y funciona correctamente de
cualquiera de las dos maneras en que me expusiste la soluci??n.
El escribir la formula en la celda me va a servir para otras tareas que
quiero realizar.
Nuevamente SUPER agradecido.
Jorge
Submitted via EggHeadCafe - Software Developer Portal of Choice
Build a Script-Only ASP.NET 2.0 Data Editing Page
http://www.eggheadcafe.com/tutorials/aspnet/274279bd-d101-4925-9857-246a66a85014/build-a-scriptonly-aspn.aspx
> ... utilizo muy frecuentemente buscarv, y quiero tener una formula personalizada ej =miformula(a3)
> me aplique busrcav(a3;='C:\Documents and Settings\ggarcia\Mis documentos\MAESTRA MATERIALES.xlsm'!MAESTRA;2;falso)
la formula que expones hace suponer que "la funcion" debiera construir "la formula" (aun y) cuando el archivo de origen esta cerrado (?)
de ser asi, vba requiere de mas "pasos" para "leer" datos en libros cerrados, que la interfaz de excel con el usuario
una (posible) alternativa es usar un procedimiento Sub (NO Function) que se ejecute "a voluntad" (tu lo llamas cuando lo necesites)
y/o al que puedas asignar algun atajo de teclado (en las opciones que aparecen en el dialogo de las macros)
p.e. escribe "en la celda" donde necesites esta funcionalidad, la direccion/referencia al dato a buscar (segun tu ejemplo: a3)
y luego ejecutas una macro que puedes copiar/pegar (o escribir) en un modulo de codigo estandar en el editor de vba +/- asi:
Sub PonerFormula()
With ActiveCell
.Formula = "=vlookup(" & .Text & ",'c:\docmuents and settings\ggarcia\mis documentos\maestra materiales.xlsm'!maestra,2,0)"
End With
End Sub
saludos,
hector.