Como extraer informacion

24/07/2009 - 20:58 por Sergio Eduardo | Informe spam
Como extraer informacion de un libro sin abrirlo??

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
24/07/2009 - 22:12 | Informe spam
hola, Sergio !

Mostrar la cita
- usando vinculos externos ?
- consultando bases de datos externas (p.e. ms-query) ?
- usando macros (ADO/DAO/...)
- ???

tienes algun caso concreto ?

saludos,
hector.
#2 Sergio Eduardo
24/07/2009 - 22:47 | Informe spam
On 24 jul, 15:12, "Héctor Miguel"
wrote:
Mostrar la cita
si pero la verdad no entiendo a que te refieres a con eso que me estas
escribiendo
#3 Héctor Miguel
24/07/2009 - 23:03 | Informe spam
hola, Sergio !

Mostrar la cita
no te preocupes, todos quisieramos volar sin haber pasado por correr/caminar/gatear/... :))

- vinculos externos se refiere a formulas que hagan referencia al otro libro/hoja/rango
cuando el libro origen esta cerrado (casi ?) todas las funciones se actualizan (SIN tener que abrirlo)

- consultar bases de datos externas, se refiere a la obtencion de datos externos
(p.e.) desde menu: datos / obtener datos externos (consultas, etc. etc. etc.)

- macros, se refiere al uso de codigos vba
(pero se necesita saber EXACTAMENTE los que, como, de donde, a donde, etc. etc. etc.)

saludos,
hector.

__ OP __
Mostrar la cita
#4 Héctor Miguel
25/07/2009 - 03:26 | Informe spam
hola (de nuevo), Sergio !

Mostrar la cita
un ejemplo suponiendo que solamente requieres leer UNA celda en algun libro cerrado -?- (p.e.)

Sub TomarUnDatoDesdeUnLibroCerrado()
Dim Ruta As String, Libro As String, Hoja As String, Celda As String
Ruta = "c:\"
Libro = "libro1.xls"
Hoja = "hoja1"
Celda = "b3"
If Right(Ruta, 1) <> "\" Then Ruta = Ruta & "\"
MsgBox ExecuteExcel4Macro("'" & _
Ruta & "[" & Libro & "]" & Hoja & "'!" & _
Range(Celda).Range("a1").Address(, , xlR1C1))
End Sub

si piensas utilizar este metodo repetidamente, te sugiero definir una funcion personalizada
que (aun cuando) NO podras llamarla desde celdas en hojas de calculo pero SI por codigo (p.e.)

Function TomarDeArchivoCerrado( _
ByVal Ruta As String, _
Archivo As String, _
Hoja As String, _
Celda As String)
If Right(Ruta, 1) <> "\" Then Ruta = Ruta & "\"
TomarDeArchivoCerrado = _
ExecuteExcel4Macro("'" & _
Ruta & "[" & Archivo & "]" & Hoja & "'!" & _
Range(Celda).Range("a1").Address(, , xlR1C1))
End Function

y cuando requieras obtener el dato (por codigo) simplemente la llamas a un msgbox o la asignas a alguna variable (p.e.)

Sub Prueba()
ActiveCell = TomarDeArchivoCerrado("c:\", "libro.xls", "hoja1", "a1")
End Sub

si necesitas "traer" MAS de una celda por vez... sera necesario recurrir a otras tecnicas utilizando (p.e.) ADO

saludos,
hector.
Ads by Google
Search Busqueda sugerida