** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - indirecto en vba
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoindirecto en vba

 Responder Responder
Autor
Mensaje
edur Ver desplegable
Habitual
Habitual


Unido: 16/Diciembre/2007
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Tema: indirecto en vba
    Enviado: 05/Enero/2011 a las 23:14
Hola
 
Desearia utilizar la funcion indirecto con una macro pero no veo la equivalencia.
 
Gracias anticipadas
Eduardo
 
Arriba
sdgm Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 21/Abril/2005
Localización: Guatemala
Estado: Sin conexión
Puntos: 906
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 00:11

¿Nos puedes dar más detalles?

Esta función la podrías utilizar como parámetro para otra función en la hoja electrónica, o para ejecutar un método (filtrar, validar, etc.), o para obtener algún valor y utilizarlo en tu código.
 
Nos comentas...
 
Cordialmente, David
Arriba
edur Ver desplegable
Habitual
Habitual


Unido: 16/Diciembre/2007
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 00:14
Hola
 
Por ejemplo se que puedo utilizar la funcion buscarv en vba mediante la forma worksheetfunction.vlookup(....)
 
Me refiero algo parecido
 
Espero haberme explicado bien.
 
Saludos
Edu
 
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4315
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 01:32
no me aclaro porque quieres utilizar la funcion indirecto desde VBA, pues puedes hacer mencion directamente de la celda en cuestion o bien utilizarla para referenciar otra celda adjacente.


Editado por Jordi-Albert - 06/Enero/2011 a las 23:08
Arriba
edur Ver desplegable
Habitual
Habitual


Unido: 16/Diciembre/2007
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 01:35
Bueno
 
Basicamente por utilizar una macro para realizar una serie de operaciones en mi hoja.
 
Pero buscando por google he visto que la funcion indirecto es una de las que no soporta visual basic
 
 
 
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5440
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 02:17
¿Que no la soporta Visual Basic?  Ouch
 
¿Has probado con la grabadora de macros?
 
Yo si, y no he tenido problemas con VBA.
 
De cualquier modo, estoy con Jordi-Albert: VBA es una cosa y las funciones integradas en Excel son otra, aunque las puedas insertar desde VBA.
 
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
edur Ver desplegable
Habitual
Habitual


Unido: 16/Diciembre/2007
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 12:11

Hola

 
Me refiero a poner algo tal como worksheetfunction.indirect, de la misma manera que si funciona worksheetfunction.lookup
 
 
Arriba
oirausu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 25/Diciembre/2005
Localización: España
Estado: Sin conexión
Puntos: 4217
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 14:52
Un uso que yo le doy a indirecto es usar el contenido de una celda como direccion y no como el texto que contenga:
 
Supongamos que queremos que en C1 aparezca el valor de la celda cuya direccion hemos escrito en B1
 
Si en C1 ponemos =B2 el resultado será a2, pero si en C1 ponemos =INDIRECTO(B1), el resultado será el que vemos en la imagen siguiente
 
  A B C
1 pepe a2 juan
2 juan    
3 andres    
4      
 
Si nos pasamos a codigo y a un boton le asociamos una macro como la siguiente:
 
Sub macro1()
    MsgBox Range("b1")
End Sub
 
el resultado será un msgbox que nos dice
 
a2
 
si modificamos la macro para dejarla como sigue:
 
Sub macro1()
    MsgBox Range(Range("b1"))
End Sub
 
El resultado será un msgbox que nos dice
 
juan 
 
 


Editado por oirausu - 06/Enero/2011 a las 14:58
Arriba
sdgm Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 21/Abril/2005
Localización: Guatemala
Estado: Sin conexión
Puntos: 906
Enlace directo a este mensaje Enviado: 06/Enero/2011 a las 15:29

Como comentara Jordi-Albert, no tiene ninguna ventaja el utilizar esta función desde VBA asociada a las application.worksheetfunctions. De hecho, ni siquiera la puedes acceder de esa manera.

Creo que el punto clave es saber para qué la necesitas y buscar un método alterno, lo que no veo muy difícil, pues en VBA es muy sencillo tomar valores de una celda y utilizando variables, transferirlos como parámetros a otras funciones y/o métodos o propiedades.  Mira los ejemplos que te da Oriausu...

Deberías ampliar más tu consulta, porque en el estado actual, la única respuesta que podemos dar es que la función indirecto no se puede utilizar como tú lo pretendes.



Editado por sdgm - 06/Enero/2011 a las 15:30
Cordialmente, David
Arriba
edur Ver desplegable
Habitual
Habitual


Unido: 16/Diciembre/2007
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Enviado: 07/Enero/2011 a las 22:32
HOla
 
Creo que buscare otra solucion como tu bien indicas, siempre hay alternativas
 
Gracias
Eduardo
 
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable