Problema funcion "ExtraerDeArchivo" con "ExecuteExcel4Macro"

24/10/2007 - 11:31 por Josep | Informe spam
He escrito una funcion que he visto para resolver el INDIRECTO para libros
cerrados (escrita por Miguel Angel, por cierto un crack).

El problema que tengo es que quiero usar la funcion "ExtraerDeArchivo"
directamente en la celda pero no me funciona.
CELDA = ExtraerDeArchivo($G$3;$B$8;"Datos";B10)
(para el directorio y archivo utilizo el valor de una celda)
FUNCION
Function ExtraerDeArchivo( _
ByVal DelDirectorio As String, _
ByVal DelArchivo As String, _
ByVal DeLaHoja As String, _
ByVal DeLaReferencia As String)
Dim TomarDe As String
If Right(DelDirectorio, 1) <> "\" Then DelDirectorio = DelDirectorio & "\"
TomarDe = "'" & DelDirectorio & "[" & DelArchivo & "]" & DeLaHoja & "'!" & _
Range(DeLaReferencia).Range("a1").Address(, , xlR1C1)
ExtraerDeArchivo = ExecuteExcel4Macro(TomarDe)
End Function

Gracias por adelantado!!
 

Leer las respuestas

#1 marioathanasiadis
24/10/2007 - 20:34 | Informe spam
On 24 oct, 04:31, Josep wrote:
He escrito una funcion que he visto para resolver el INDIRECTO para libros
cerrados (escrita por Miguel Angel, por cierto un crack).

El problema que tengo es que quiero usar la funcion "ExtraerDeArchivo"
directamente en la celda pero no me funciona.
CELDA = ExtraerDeArchivo($G$3;$B$8;"Datos";B10)
(para el directorio y archivo utilizo el valor de una celda)
FUNCION
Function ExtraerDeArchivo( _
ByVal DelDirectorio As String, _
ByVal DelArchivo As String, _
ByVal DeLaHoja As String, _
ByVal DeLaReferencia As String)
Dim TomarDe As String
If Right(DelDirectorio, 1) <> "\" Then DelDirectorio = DelDirectorio & "\"
TomarDe = "'" & DelDirectorio & "[" & DelArchivo & "]" & DeLaHoja & "'!" & _
Range(DeLaReferencia).Range("a1").Address(, , xlR1C1)
ExtraerDeArchivo = ExecuteExcel4Macro(TomarDe)
End Function

Gracias por adelantado!!



para utilizar una funcion en una celda debes llamarla a travez de un
evento
esto es programacion en excel
click en el nombre de la hoja con el boton derecho le das ver codigo
y le creas un procedimiento sub en el evento al activar por ejemplo o
alcambiar
en el procedimiento llamas la funcion escribiendo su nombre o
utilizando call
cuando ocurra el evento correra la funcion
es cuestion de escoger el evento adecuado

Preguntas similares