Excel - BuscarV en macro

 
Vista:
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por nacho (14 intervenciones) el 12/07/2018 11:51:25
Hola,

Me gustaría saber si se puede utilizar la funcion BuscarV para macros, he buscado por internet pero con eso me da error, me gustaria saber el problema y como solucionarlo. Gracias

Me dice que no se puede obtener la propierdad de la funcion. He probado tambien con BuscarV.

El objetivo es:

1º/Leer un numero(Q4, en hoja Ficha)

2º/Buscar en la Hoja Orden de pedido que contiene la Tabla 2 (en la primer columna de la tabla) el valor A

3º/Copiar la celda de la columna(6 en este caso), en la celda (D16 hoja Ficha)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub BuscarOF()
 
Dim A As Integer
 
Dim B As Integer
 
A = Sheets("Ficha").Range("Q4")
 
 If A < 10 Then
 
  B = Application.WorksheetFunction.VLookup(A, Tabla2, 6, Falso)
 
  Sheets("Ficha").Range("D16") = B
 
  End If
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por Antoni Masana (2477 intervenciones) el 12/07/2018 12:14:34
En principio esta macro esta bien.

1
2
3
4
5
6
7
8
9
Sub BuscarOF()
    Dim A As Integer,  B As Integer
 
    A = Sheets("Ficha").Range("Q4")
    If A < 10 Then
        B = Application.WorksheetFunction.VLookup(A, Tabla2, 6, Falso)
        Sheets("Ficha").Range("D16") = B
    End If
End Sub

Otra cosa es que se puede simplificar y evitas definición de variables posiblemente incorréta.

1
2
3
4
5
6
7
Sub BuscarOF()
    With Sheets("Ficha")
        If .Range("Q4") < 10 Then
            .Range("D16") = Application.WorksheetFunction.VLookup(.Range("Q4"), Tabla2, 6, Falso)
        End If
    End With
End Sub

Y aún más simple, poner la función en la celda D16

1
=SI(Q4>0; BuscarV(Q4;Tabla2;6;Falso); "" )
o
1
=SI(Q4>0; BuscarV(Q4;Tabla2;6;Falso); 0 )


Si no resuelves el problema deberías subir el libro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por nacho (14 intervenciones) el 12/07/2018 12:57:19
Muchas gracias, pero la duda es porque no me da correcta la aplicación de Application.WorksheetFunction.VLookup. Si hay que activar algo para que funcione o no se..
Gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por Antoni Masana (2477 intervenciones) el 12/07/2018 19:22:24
Puedes subir un ejemplo. Lo miro y te contesto.

Saludo.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por nacho (14 intervenciones) el 13/07/2018 08:16:51
Muchas gracias, al final he usado =SI(Q4>0; BuscarV(Q4;Tabla2;6;Falso); "" ) y así me he evitado la macro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por nacho (14 intervenciones) el 13/07/2018 09:59:55
Muchas gracias pero al final eso no satisface todas mis necesidades porque borro la celda y se me borra toda la formula.
Adjunto un excel con otras celdas, pero con el mismo objetivo, que funcione lo de Application...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por Antoni Masana (2477 intervenciones) el 13/07/2018 10:43:47
Visto el Fallo.

1
2
3
4
5
6
7
8
9
Sub Prueba()
    Dim A As Integer, B As Integer
 
    A = Range("A10")
    If A < 10 Then
        B = Application.VLookup(A, Range("Tabla1"), 2, False)
        Range("A11") = B
    End If
End Sub

o

1
2
3
4
5
Sub Prueba()
    If Range("A10") < 10 Then
       Range("A11") = Application.VLookup(Range("A10"), Range("Tabla1"), 2, False)
    End If
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

BuscarV en macro

Publicado por nacho (14 intervenciones) el 13/07/2018 10:48:53
Muchisimas gracias! Ahora si!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar