Extraer información de otro Libro

09/10/2006 - 15:09 por Roberto Miranda | Informe spam
Buenas Grupo:

He buscado información sobre extaer información de otro libro, pero no he
podido hacer mucho, yo hice lo siguiente:

En una hoja del libro destino, le hice un Extraer Datos Externos mandando a
llamar otro archivo Xls, y me actualiza una base de datos, luego de ahí
puedo manipular vía código la información, el caso es que el archivo destino
se hace demasiado grande.

intenté mandando a poner fórmulas a través de código la función BuscarV,
pero esta no me permite hacer una validación en el código, lo tengo que
poner vía código puesto que esta información puede modificarse, y la fórmula
se tiene que eliminar.

El objetivo es el siguiente: tengo 2 archivos, uno donde se elaboran cheques
y el otro donde están las solicitudes, desde el archivo donde elaboro los
cheques mando a llamar todos los datos de la solicitud, pero tengo que tener
la opción de agregar o quitar información (Detallitos hasta de escritura),
pero no se como hacerlo, los datos más importantes que necesito pasar al
libro de elaboración de cheques son: Beneficiario, valor a pagar, concepto,
pero a como dije antes tengo que poder modificar la información. y la
validación importante que debo hacer, es que en una columna muestro el
estado de la solicitud, si esta dice anulada, no debería poder elaborarse
cheque. Muestro un código que he hecho, pero válido para una hoja dentro del
mismo libro:

Private Sub CommandButton1_Click()
Dim Celda
Dim Solicitud
Dim CldNeto
Dim CldTasaIr
Dim CldIr
Dim CldBeneficiario
Dim CldConcepto
Dim CldEstado
Celda = 3
Solicitud = "A" & Celda
Do Until TextBox4.Text = Hoja7.Range(Solicitud)
Celda = Celda + 1
If Celda = 6000 Then
MsgBox "Solicitud no existe, intente nuevamente", vbOKOnly,
"Roberto Miranda"
TextBox4.Activate
Exit Sub
End If
Solicitud = "A" & Celda
Loop
CldBeneficiario = "C" & Celda
CldNeto = "D" & Celda
CldTasaIr = "H" & Celda
CldIr = "I" & Celda
CldConcepto = "J" & Celda
CldEstado = "L" & Celda
If Hoja7.Range(CldEstado) = "Anulado" Then
MsgBox "Solicitud está anulada, no se puede elaborar Cheque", vbOKOnly,
"Roberto Miranda"
Exit Sub
Else
Hoja5.Range("H5") = Hoja7.Range(CldNeto)
ComboBox1.Text = Hoja7.Range(CldBeneficiario)
'Hoja5.Range("A17") = Hoja7.Range(CldConcepto)
Hoja5.Range("G21") = Hoja7.Range(CldTasaIr)
Hoja5.Range("H21") = Hoja7.Range(CldIr)
Hoja5.Range("C23") = Val(TextBox4.Text)
End If

Una manito??

Saludos

Roberto Miranda
 

Leer las respuestas

#1 Héctor Miguel
10/10/2006 - 05:20 | Informe spam
hola, Roberto !

Mostrar la cita
1) [creo que] seria necesario hacer una busqueda [un poquitin] mas... 'exhaustiva' -?-
[te aseguro que] existen 'suficientes' conversaciones relacionadas con extraer informacion de otros libros ;)

Mostrar la cita
2) puedes exponer 'como seria' la formula que utilizarias ? y comentar ...
a que te refieres con: -> '... esta informacion puede modificarse, y la formula se tiene que eliminar... ' ?

Mostrar la cita
3) si es posible tener ambos libros abiertos ? es posible que puedas 'evitar' algunos pasos
o procesar 'en directo' sobre los datos del otro archivo ;)
el ['unico' ?] inconveniente seria que no podras utilizar los 'CodeName' de las hojas en el libro 'externo' [me explico]...
-> tus llamadas del tipo: -> Hoja5.Range("G21") = Hoja7.Range(CldTasaIr)
donde 'Hoja5' y 'Hoja7' corresponden a los 'codenames' de los objetos worksheet -> del libro que contiene las macros...
-> necesitarias sustituirlas [donde corresponda] por el nombre del libro y el nombre de la hoja [en su etiqueta]... p.e.
-> Hoja5.Range("G21") = Workbooks("El otro libro.xls").Worksheets("el nombre de la Hoja7").Range(CldTasaIr)
[y algunas 'cosilas' mas] :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Mostrar la cita

Preguntas similares