Listas

06/02/2006 - 23:14 por Javier Avila | Informe spam
Hola a todos,

Quisiera saber si puedo "jalar" listas de internet o de mi intranet para
asi centralizar la informacion y no andar con varias "versiones" alguien
me puede dar una mano?, gracias!

Javier A.

Preguntas similare

Leer las respuestas

#6 Javier Avila
11/02/2006 - 00:40 | Informe spam
ok parece interesante lo que hace la rutina pero no puedo hacerla
funcionar (ya apliqeu las rutas que corresponde pero se me hace qeu
necesito llamarla de alguna manera pero no se como :S):

1. la tabla a la que hace referencia como rango o como nombre rango
tiene que ser una tabla especialemnte tratada o simplemente un rango
donde existan mi plan de cuentas?

2. esta macro va a estar presente en el .xlt que genera los
comprobantes... ahora... va a estar al principio? (ahora que hago esta
pregunta me huele a que no tiene demasiada importancia)

3. estoy teniendo un segundo problema puesto que en el .xlt generador
hay una lista creada con el plan de cuentas pero para que entre he
tenido que mostrar solo el campo donde selecciono el # de cuenta ya qeu
son casi 400 cuentas y cada vez que aumento una cuenta tengo que editar
la macro para qeu me coloque las fechas donde corresponden porque va
aumentando las filas y se me recorre todo (en realidad estaria dispuesto
s mandarte el archivo para que se pueda entender este problema de mejro
manera)

4. he visto que se pueden obtener listas (condicionadas o no) estando
estas en otra hoja de un libro:
http://www.contextures.com/xlDataVal13.html
Este mecanismo se coplaria perfectamente a lo que estoy buscando... ¿o no?

Gracias nuevamente Héctor por tu ayuda, te agradeceria que me sigas
guiando un poco. Saludos


Javier A.

Héctor Miguel wrote:

hola, Javier !


Me interesa la opcion 2 y voy a ver como es el asunto de las reglas de validacion puesto que mi lista es algo grande
por donde puedo empezar?




1) por donde empezar ? [creo que] 'basicamente'... por las paginas 'recomendadas' desde la primer propuesta :))

2) otra alternativa es [p.e.] la que te expongo al final del presente [modifica donde mis 'supuestos' no sean 'aplicables']
[a falta de mayores detalles... he tenido que 'inventarme' un posible 'arreglo' del 'plan de cuentas.xls'] :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
=> 1) establece una referencia en el proyecto de macros [vba] a la biblioteca: 'Microsoft ActiveX Data Objects x.x Library'
-> donde x.x corresponde a la version mas 'viejita' que exista [en las 'pc's donde vayas a correr la macro]
2) requiere de excel 2000 o superior <= OJO
y se trata de una macro que 'trae' los datos del 'plan de cuentas.xls' a la hoja1 donde PRIMERO limpia los datos existentes <= OJO
3) en un modulo de codigo 'normal'... copia/pega las siguientes lineas...
__________________ inicio del codigo...
Sub Traer_mi_Tabla()
Dim ArchivoDeOrigen As String, HojaDeDatos As String, _
RangoDeDatos As String, Títulos As Boolean
Dim Conexion As ADODB.Connection, Comando As ADODB.Command, _
Registros As ADODB.Recordset
ArchivoDeOrigen = "\\server\tablas\plan de cuentas.xls"
HojaDeDatos = "Hoja2" ' <= puedes 'omitirlo' SI 'Nombre_del_Rango' ES UNICO en el libro <= OJO '
RangoDeDatos = "a1:c26" ' o... "Nombre_del_Rango"
Títulos = False ' o... True que OMITE 'traer' la primer fila del rango <= OJO '
Set Conexion = New ADODB.Connection
Conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ArchivoDeOrigen & ";" & _
"Extended Properties=""Excel 8.0;" & _
"IMEX=1;" & _
"HDR=" & IIf(Títulos = True, "Yes", "No") & ";"";"
Set Comando = New ADODB.Command
Comando.ActiveConnection = Conexion
If HojaDeDatos = "" _
Then Comando.CommandText = "Select * From `" & RangoDeDatos & "`" _
Else Comando.CommandText = "Select * From `" & HojaDeDatos & "$" & RangoDeDatos & "`"
Set Registros = New ADODB.Recordset
Registros.Open Comando, , adOpenKeyset, adLockOptimistic
With Worksheets("Hoja1") ' <= podrias volcar el 'RecordSet' INCLUSO a una hoja "Oculta" :)) '
.Cells.Clear: .Range("a1").CopyFromRecordset Registros
End With
Conexion.Close: Set Conexion = Nothing: Set Comando = Nothing: Set Registros = Nothing
End Sub


Respuesta Responder a este mensaje
#7 Héctor Miguel
11/02/2006 - 04:36 | Informe spam
hola, Javier ! [comentarios 'mezclados' en cada punto] ;)

ok parece interesante lo que hace la rutina pero no puedo hacerla funcionar
(ya apliqeu las rutas que corresponde pero se me hace qeu necesito llamarla de alguna manera pero no se como :S):



=> el ejemplo de la propuesta es un procedimiento 'Sub' que asume [o requere] ser 'llamado' por el usuario O por otro procedimiento
[p.e.] lo llamas en el evento '_open' del libro... o desde el menu de macro / macros o... desde el atajo {Alt}+{F8} ;)

1. la tabla a la que hace referencia como rango o como nombre rango tiene que ser una tabla especialemnte tratada
o simplemente un rango donde existan mi plan de cuentas?



=> SI al rango [en la hoja] donde se encuentra la tabla, le defines/asignas un nombre FIJO, tienes dos formas de 'traerlo'...
1) HojaDeDatos = "" ' <= puedes 'omitirlo' SI 'Nombre_del_Rango' ES UNICO en el libro <= OJO '
RangoDeDatos = "Nombre_del_Rango"
2) HojaDeDatos = "Nombre de la hoja" ' <= DEBES 'expresarlo' SI 'Nombre_del_Rango' NO ES UNICO en el libro <= OJO '
RangoDeDatos = "Nombre_del_Rango"

2. esta macro va a estar presente en el .xlt que genera los comprobantes... ahora
... va a estar al principio? (ahora que hago esta pregunta me huele a que no tiene demasiada importancia)



=> SI el codigo 'lo pones' [p.e.] en el evento '_open' del libro... la tabla 'actualizada' sera traida cada vez que se abra al archivo
SI la macro 'la llamas' [en cualquier evento o por accion directa del usuario]... la tabla se actualizara cada vez que se ejecute

3. estoy teniendo un segundo problema puesto que en el .xlt generador hay una lista creada con el plan de cuentas
pero para que entre he tenido que mostrar solo el campo donde selecciono el # de cuenta ya qeu son casi 400 cuentas
y cada vez que aumento una cuenta tengo que editar la macro para qeu me coloque las fechas donde corresponden
porque va aumentando las filas y se me recorre todo
(en realidad estaria dispuesto a mandarte el archivo para que se pueda entender este problema de mejro manera)



=> [todavia] me resulta dificil 'imaginar' el arreglo real de tus datos asi como de cuales son [todas] las 'necesidades' :-(
si lo deseas, puedes enviarme una copia de tus archivos [solo quita de la direccion el 'NO...SPAM...PLS'] ;)

4. he visto que se pueden obtener listas (condicionadas o no) estando estas en otra hoja de un libro:
http://www.contextures.com/xlDataVal13.html
Este mecanismo se coplaria perfectamente a lo que estoy buscando... o no?



=> usar listas 'condicionadas' a otra seleccion... no es un problema infranqueable [el ejemplo que mencionas es una forma de varias]
PERO... estamos hablando de 'reglas de validacion'... y... SOLO funcionan si AMBOS libros estan abiertos :-(
[o si al menos existe un vinculo REAL a traves de nombres vinculados entre ambos archivos] ;)
[tambien] existe un -posible- inconvenientes, si se piensa utilizar nombres con referencia a rangos 'dinamicos' [en un libro cerrado] :(

[como ves]... alternativas de -posible- solucion... [creo que] todavia quedan varias ;)
conociendo mayores detalles... las propuestas podran 'irse mejorando' :))

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida