Desarrollo de una aplicación

15/07/2006 - 09:50 por Desastres | Informe spam
Buenos días.

Estoy intentando desarrollar una aplicación que se está volviendo muy pesada y tengo dudas y
carencias en el planteamiento a seguir. ( Bastantes más que certezas)

No pudiendo seguir una formación reglada, necesito información sobre experiencias de desarrollos.
Por ejemplo:

¿Todo en un solo libro programa?

¿Un programa central, liviano que abra, en función de lo que se desea hacer, otros libros con
programas?

¿Libros de tipo xla?

¿Qué funciones de excel se pueden desactivar al entrar y activar al salir para convertirlo en el
mejor gestor de bases de datos de que es capaz? Excel, no puedo comenzar, con un verdadero gestor de
bases de datos.



Saludos

Des.



PD ¿ que función de VBA podría sustituir a la workseetfunction.Round( a,b,c)

Preguntas similare

Leer las respuestas

#1 Henry Sanchez
15/07/2006 - 15:34 | Informe spam
Hola Desastres,

Doy respuesta a la unica pregunta clara de tu mensaje:

¿ que función de VBA podría sustituir a la workseetfunction.Round( a,b,c)

Utiliza la funcion VBA Round( )

PD Alguna vez pude comprobar que las funciones workseetfunction.Round de
Excel y Round de VBA no son del todo equivalentes, pues difieren cuando el
ultimo decimal a aproximar es 5. Una aproxima por exceso y la otra por
defecto.


Saludos,

Henry



"Desastres" escribió:

Buenos días.

Estoy intentando desarrollar una aplicación que se está volviendo muy pesada y tengo dudas y
carencias en el planteamiento a seguir. ( Bastantes más que certezas)

No pudiendo seguir una formación reglada, necesito información sobre experiencias de desarrollos.
Por ejemplo:

¿Todo en un solo libro programa?

¿Un programa central, liviano que abra, en función de lo que se desea hacer, otros libros con
programas?

¿Libros de tipo xla?

¿Qué funciones de excel se pueden desactivar al entrar y activar al salir para convertirlo en el
mejor gestor de bases de datos de que es capaz? Excel, no puedo comenzar, con un verdadero gestor de
bases de datos.



Saludos

Des.



PD ¿ que función de VBA podría sustituir a la workseetfunction.Round( a,b,c)




Respuesta Responder a este mensaje
#2 Desastres
15/07/2006 - 18:36 | Informe spam
Gracias Henry.
Quise decir RoundUp.

Del resto de la pregunta, ¿que aclaraciones necesitas?

Saludos
Des

"Henry Sanchez" escribió en el mensaje
news:
Hola Desastres,

Doy respuesta a la unica pregunta clara de tu mensaje:

¿ que función de VBA podría sustituir a la workseetfunction.Round( a,b,c)

Utiliza la funcion VBA Round( )

PD Alguna vez pude comprobar que las funciones workseetfunction.Round de
Excel y Round de VBA no son del todo equivalentes, pues difieren cuando el
ultimo decimal a aproximar es 5. Una aproxima por exceso y la otra por
defecto.


Saludos,

Henry



"Desastres" escribió:

> Buenos días.
>
> Estoy intentando desarrollar una aplicación que se está volviendo muy pesada y tengo dudas y
> carencias en el planteamiento a seguir. ( Bastantes más que certezas)
>
> No pudiendo seguir una formación reglada, necesito información sobre experiencias de


desarrollos.
> Por ejemplo:
>
> ¿Todo en un solo libro programa?
>
> ¿Un programa central, liviano que abra, en función de lo que se desea hacer, otros libros con
> programas?
>
> ¿Libros de tipo xla?
>
> ¿Qué funciones de excel se pueden desactivar al entrar y activar al salir para convertirlo en el
> mejor gestor de bases de datos de que es capaz? Excel, no puedo comenzar, con un verdadero


gestor de
> bases de datos.
>
>
>
> Saludos
>
> Des.
>
>
>
> PD ¿ que función de VBA podría sustituir a la workseetfunction.Round( a,b,c)
>
>
>
>
Respuesta Responder a este mensaje
#3 Héctor Miguel
16/07/2006 - 02:27 | Informe spam
hola, Des !
__ 1 __
... una aplicacion que se esta volviendo muy pesada y tengo dudas... en el planteamiento a seguir.
No pudiendo seguir una formacion reglada, necesito... experiencias de desarrollos. Por ejemplo:
Todo en un solo libro programa?
Un programa central, liviano que abra, en funcion de lo que se desea hacer, otros libros con programas?
Libros de tipo xla?


__ 2 __
Que funciones de excel se pueden desactivar al entrar y activar al salir
para convertirlo en el mejor gestor de bases de datos de que es capaz?
no puedo comenzar, con un verdadero gestor de bases de datos.


__ 3 __
PD que funcion de VBA podria sustituir a la workseetfunction.Round(a,b,c)



1) las interrogantes que planteas [me parece que] tienen un 'alcance/profundidad/...' que va mas alla...
de la 'sencillez' con la que formulas las preguntas [me explico, partiendo de la -posible- relatividad de las acciones]...
a) conoces ya -todas- las eventualidades que pudiera ocasionar un usuario con las acciones que realiza tu codigo ?
b) no creo que exista una 'norma' [+/- general o universal] para definir 'que es mejor'... [comparado... con que ?]
c) 'mantener/separar' codigos en uno/varios objetos/libros/complementos/... [y solo para 'variar']... tiene sus pros y sus contras
- 'peso' de los archivos... 'portabilidad'... 'riesgos de corrupcion'... 'universalidad'... [solo por mencionar... 'algo'] :))

2) con relacion a las opciones/caracteristicas/funciones/... que puedes des/re/habilitar al entrar/salir de excel...
[practicamente]... lo que sea que necesites [de alguna u otra forma]... es posible de lograr/alcanzar/obtener/adaptar/...
- en cuanto a... 'todo lo que sea capaz' [como 'gestor de bases de datos] excel... -?-
[como que hace falta una definicion mas apegada a lo que necesitas 'controlar', formas, tiempos, 'restricciones', etc.] -?-

3) [aclarado que la funcion que buscas para vba es RoundUp -Redondear.Mas-]...
si ya tienes 'disponibles' funciones 'nativas' de excel [en vba] por medio del objeto Application.WorksheetFunction.<xyz> ...
=> USALAS / APROVECHALAS / SACALES VENTAJA ...
hay algunas que no son sencillas de 'reproducir/desarrollar/dise#ar/...' [p.e.] por funciones 'definidas por el usuario' :-(
[p.e.] el caso concreto del RoundUp 'requiere':
- conocer cual es el separador de decimales en el sistema donde se corre la funcion [configuraciones regionales de windows]
- el numero [exacto] de las decimales que pudiera tener el valor a 'redondear.mas' [y si las hay o no]
- si las decimales [numero que debera ser entero] a las que se necesita redondear son positivas/negativas
- igual si el numero a redondear es nagativo/positivo [entre otras mas]...
[solo como 'idea' de las variables involucradas en el desarrollo de algun 'algoritmo' que 'sustituya' una funcion 'nativa' de excel] :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Desastres
16/07/2006 - 11:12 | Informe spam
Hola Héctor y GRACIAS.

Respondo paso a paso entre tus líneas.



Empiezo comentando que se trata de una gestión comercial y contable ( aún utiliza formulas de Excel)
que se comenzó desarrollando para salir del paso por la perdida de TODOS los datos ( y alguna otra
cosilla sin importancia ) a causa del efecto 2000 y que a partir de un cierto momento, se le
encuentra el gustillo a no depender de otro que te deje colgado en el peor de los momentos. Aunque a
fuerza de ser sincero, depender de mí, no es mucho mejor.( esto léelo en voz baja, que no te oigan).

Para darte una idea de pequeños cambios, el fichero de artículos tenia originalmente unos 8 campos,
ahora anda por los 50 y algunos días que me siento especialmente generoso creo que le añadiré alguno
más.

Originariamente solo se contemplaba una moneda y ahora es distinto( sin desarrollar, me faltan las
monedas), exportación( sin desarrollar, no me quieren comprar), impuestos(sin desarrollar, no me los
pagan), y no se si en esta vida lo podré hacer, pero... voy en ese camino. Si no , en la siguiente
continuo.

Eso haría que si el tuviera un cierto movimiento, y todo el programa estuviera en un solo libro
(Cliente, Proveedores, Acreedores, artículos, Familias, Monedas, Países, Bancos, Estadísticas de
compra y venta, Plan contable, asientos predefinidos, Libro de diario con varios ejercicios, libro
de Facturas, formularios multi idioma , etc ), CREO que se convertiría la aplicación en todo un
tocho , e grosero y mas lento que una tortuga coja, reumática marchando hacia atrás y cuesta
arriba. ( en muy buena parte a causa mía)

Concibo la elegancia como una cierta forma de austeridad, eficiente: Lo bueno, si breve, dos veces
bueno.

Carezco de tiempo, entre otras cosas, y comenzar con un gestor de bases de datos no me es factible.

Y dicho lo cual...





__ 1 __
> ... una aplicacion que se esta volviendo muy pesada y tengo dudas... en el planteamiento a


seguir.
> No pudiendo seguir una formacion reglada, necesito... experiencias de desarrollos. Por ejemplo:
> Todo en un solo libro programa?
> Un programa central, liviano que abra, en funcion de lo que se desea hacer, otros libros con


programas?
> Libros de tipo xla?
__ 2 __
> Que funciones de excel se pueden desactivar al entrar y activar al salir
> para convertirlo en el mejor gestor de bases de datos de que es capaz?
> no puedo comenzar, con un verdadero gestor de bases de datos.
__ 3 __
> PD que funcion de VBA podria sustituir a la workseetfunction.Round(a,b,c)

1) las interrogantes que planteas [me parece que] tienen un 'alcance/profundidad/...' que va mas


alla...
de la 'sencillez' con la que formulas las preguntas [me explico, partiendo de la -posible-


relatividad de las acciones]...



** Para mi no es sencillo analizar las posibles alternativas ( que ni siquiera conozco con detalle)
e intentar escoger aquella para la que me crea más capaz.


a) conoces ya -todas- las eventualidades que pudiera ocasionar un usuario con las acciones que


realiza tu codigo ?

** Intento desarrollar contra mí mismo ( cuando está bien no debo poder generar un problema ni
queriendo hacerlo) y en ocasiones incluso contra el propio Excel (recuerda que en alguna ocasión he
comentado que Excel me suma y resta como un aprendiz, o que da por número situaciones forzadas, que
el ojo humano daría como errores ) A pesar de ello hay muchas situaciones, como en los UserForms, en
que no lo consigo.


b) no creo que exista una 'norma' [+/- general o universal] para definir 'que es mejor'...


[comparado... con que ?]

*** comparado con lo mas seguro, lo más ágil y rápido, aquello en que menos perderías si hubiera un
problema, que se pudiera modificar más fácilmente, lo que se adapte mejor a un ordenador potente y
a uno más sencillo, aquello que al comentarlo pudiera decir sin vergüenza : lo hice yo.



c) 'mantener/separar' codigos en uno/varios objetos/libros/complementos/... [y solo para


'variar']... tiene sus pros y sus contras

*** Por ellos preguntaba. Por los pros, los contras, sus porqué,( aquí creo hay base para alguna que
otra pregunta más)


- 'peso' de los archivos... 'portabilidad'... 'riesgos de corrupcion'...


'universalidad'... [solo por mencionar... 'algo'] :))

*** Eso está en el centro de la pregunta, aunque no lo haya especificado.

2) con relacion a las opciones/caracteristicas/funciones/... que puedes des/re/habilitar al


entrar/salir de excel...
[practicamente]... lo que sea que necesites [de alguna u otra forma]... es posible de


lograr/alcanzar/obtener/adaptar/...



*** Creo que es así, es una de las cosas que preguntaba, pero necesito in/formacion para hacerlo y
no sé donde conseguirla.


- en cuanto a... 'todo lo que sea capaz' [como 'gestor de bases de datos] excel... -?-
[como que hace falta una definicion mas apegada a lo que necesitas 'controlar', formas,


tiempos, 'restricciones', etc.] -?-
** aquí no sé que contestarte. ¿ Te sirve la declaración de intenciones inicial? ( aunque formas y
tiempos, seguro)


3) [aclarado que la funcion que buscas para vba es RoundUp -Redondear.Mas-]...
si ya tienes 'disponibles' funciones 'nativas' de excel [en vba] por medio del objeto


Application.WorksheetFunction.<xyz> ...
=> USALAS / APROVECHALAS / SACALES VENTAJA ...
hay algunas que no son sencillas de 'reproducir/desarrollar/dise#ar/...' [p.e.] por funciones


'definidas por el usuario' :-(
[p.e.] el caso concreto del RoundUp 'requiere':
- conocer cual es el separador de decimales en el sistema donde se corre la funcion


[configuraciones regionales de windows]

- el numero [exacto] de las decimales que pudiera tener el valor a 'redondear.mas' [y si


las hay o no]
- si las decimales [numero que debera ser entero] a las que se necesita redondear son


positivas/negativas
- igual si el numero a redondear es nagativo/positivo [entre otras mas]...
[solo como 'idea' de las variables involucradas en el desarrollo de algun 'algoritmo' que


'sustituya' una función 'nativa' de Excel] :))



*** Quizá aquí debiera decir varias cosas ( aun a riesgo de saber que no van a ser compartidas o
contienen errores):

1º- Aprender, para mi, es conocer TODO lo que sea posible. Una nueva función, si existe, es
importante.

2º-Para ir más rápido ( a veces gano el 75% del tiempo empleado) deshabilitando el cálculo
automático, con lo cual las funciones de Excel, en una hoja de calculo me han dejado de funcionar y
temo que pase lo mismo en programación.

3º-A veces cuando no puedo ir directo por el campo, doy un rodeo . He solucionado el problema
RoundUp en tres líneas. Pero en tres líneas, es tres veces menos breve y bueno.

4º-Siento que, en cierta manera, renuncio a "cabalgar" Excel.



Disculpa si me he pasado un pelin y cuatro pueblos. Se agracece la respuesta que puedas y a lo que
puedas.



Saludos

Des
Respuesta Responder a este mensaje
#5 Desastres
16/07/2006 - 11:19 | Informe spam
Hola Héctor y GRACIAS. ( si por casualidad, o por que algo ha fallado, te llega dos veces No leas
este)
Respondo paso a paso entre tus líneas.

Empiezo comentando que se trata de una gestión comercial y contable ( aún utiliza formulas de Excel)
que se comenzó desarrollando para salir del paso por la perdida de TODOS los datos ( y alguna otra
cosilla sin importancia ) a causa del efecto 2000 y que a partir de un cierto momento, se le
encuentra el gustillo a no depender de otro que te deje colgado en el peor de los momentos. Aunque a
fuerza de ser sincero, depender de mí, no es mucho mejor.( esto léelo en voz baja, que no te oigan).
Para darte una idea de pequeños cambios, el fichero de artículos tenia originalmente unos 8 campos,
ahora anda por los 50 y algunos días que me siento especialmente generoso creo que le añadiré alguno
más.
Originariamente solo se contemplaba una moneda y ahora es distinto( sin desarrollar, me faltan las
monedas), exportación( sin desarrollar, no me quieren comprar), impuestos(sin desarrollar, no me los
pagan), y no se si en esta vida lo podré hacer, pero... voy en ese camino. Si no , en la siguiente
continuo.

Eso haría que si el tuviera un cierto movimiento, y todo el programa estuviera en un solo libro
(Cliente, Proveedores, Acreedores, artículos, Familias, Monedas, Países, Bancos, Estadísticas de
compra y venta, Plan contable, asientos predefinidos, Libro de diario con varios ejercicios, libro
de Facturas, formularios multi idioma , etc ), CREO que se convertiría la aplicación en todo un
tocho , e grosero y mas lento que una tortuga coja, reumática marchando hacia atrás y cuesta
arriba. ( en muy buena parte a causa mía)
Concibo la elegancia como una cierta forma de austeridad, eficiente: Lo bueno, si breve, dos veces
bueno.
Carezco de tiempo, entre otras cosas, y comenzar con un gestor de bases de datos no me es factible.
Y dicho lo cual...
__ 1 __
> ... una aplicacion que se esta volviendo muy pesada y tengo dudas... en el planteamiento a


seguir.
> No pudiendo seguir una formacion reglada, necesito... experiencias de desarrollos. Por ejemplo:
> Todo en un solo libro programa?
> Un programa central, liviano que abra, en funcion de lo que se desea hacer, otros libros con


programas?
> Libros de tipo xla?
__ 2 __
> Que funciones de excel se pueden desactivar al entrar y activar al salir
> para convertirlo en el mejor gestor de bases de datos de que es capaz?
> no puedo comenzar, con un verdadero gestor de bases de datos.
__ 3 __
> PD que funcion de VBA podria sustituir a la workseetfunction.Round(a,b,c)

1) las interrogantes que planteas [me parece que] tienen un 'alcance/profundidad/...' que va mas


alla...
de la 'sencillez' con la que formulas las preguntas [me explico, partiendo de la -posible-


relatividad de las acciones]...
** Para mi no es sencillo analizar las posibles alternativas ( que ni siquiera conozco con detalle)
e intentar escoger aquella para la que me crea más capaz.

a) conoces ya -todas- las eventualidades que pudiera ocasionar un usuario con las acciones que


realiza tu codigo ?

** Intento desarrollar contra mí mismo ( cuando está bien no debo poder generar un problema ni
queriendo hacerlo) y en ocasiones incluso contra el propio Excel (recuerda que en alguna ocasión he
comentado que Excel me suma y resta como un aprendiz, o que da por número situaciones forzadas, que
el ojo humano daría como errores ) A pesar de ello hay muchas situaciones, como en los UserForms, en
que no lo consigo.

b) no creo que exista una 'norma' [+/- general o universal] para definir 'que es mejor'...


[comparado... con que ?]

*** comparado con lo mas seguro, lo más ágil y rápido, aquello en que menos perderías si hubiera un
problema, que se pudiera modificar más fácilmente, lo que se adapte mejor a un ordenador potente y
a uno más sencillo, aquello que al comentarlo pudiera decir sin vergüenza : lo hice yo.

c) 'mantener/separar' codigos en uno/varios objetos/libros/complementos/... [y solo para


'variar']... tiene sus pros y sus contras

*** Por ellos preguntaba. Por los pros, los contras, sus porqué,( aquí creo hay base para alguna que
otra pregunta más)
- 'peso' de los archivos... 'portabilidad'... 'riesgos de corrupcion'...


'universalidad'... [solo por mencionar... 'algo'] :))

*** Eso está en el centro de la pregunta, aunque no lo haya especificado.

2) con relacion a las opciones/caracteristicas/funciones/... que puedes des/re/habilitar al


entrar/salir de excel...
[practicamente]... lo que sea que necesites [de alguna u otra forma]... es posible de


lograr/alcanzar/obtener/adaptar/...

*** Creo que es así, es una de las cosas que preguntaba, pero necesito in/formacion para hacerlo y
no sé donde conseguirla.
- en cuanto a... 'todo lo que sea capaz' [como 'gestor de bases de datos] excel... -?-
[como que hace falta una definicion mas apegada a lo que necesitas 'controlar', formas,


tiempos, 'restricciones', etc.] -?-

** aquí no sé que contestarte. ¿ Te sirve la declaración de intenciones inicial? ( aunque formas y
tiempos, seguro)

3) [aclarado que la funcion que buscas para vba es RoundUp -Redondear.Mas-]...
si ya tienes 'disponibles' funciones 'nativas' de excel [en vba] por medio del objeto


Application.WorksheetFunction.<xyz> ...
=> USALAS / APROVECHALAS / SACALES VENTAJA ...
hay algunas que no son sencillas de 'reproducir/desarrollar/dise#ar/...' [p.e.] por funciones


'definidas por el usuario' :-(
[p.e.] el caso concreto del RoundUp 'requiere':
- conocer cual es el separador de decimales en el sistema donde se corre la funcion


[configuraciones regionales de windows]

- el numero [exacto] de las decimales que pudiera tener el valor a 'redondear.mas' [y si


las hay o no]
- si las decimales [numero que debera ser entero] a las que se necesita redondear son


positivas/negativas
- igual si el numero a redondear es nagativo/positivo [entre otras mas]...
[solo como 'idea' de las variables involucradas en el desarrollo de algun 'algoritmo' que


'sustituya' una función 'nativa' de Excel] :))

*** Quizá aquí debiera decir varias cosas ( aun a riesgo de saber que no van a ser compartidas o
contienen errores):
1º- Aprender, para mi, es conocer TODO lo que sea posible. Una nueva función, si existe, es
importante.
2º-Para ir más rápido ( a veces gano el 75% del tiempo empleado) deshabilitando el cálculo
automático, con lo cual las funciones de Excel, en una hoja de calculo me han dejado de funcionar y
temo que pase lo mismo en programación.
3º-A veces cuando no puedo ir directo por el campo, doy un rodeo . He solucionado el problema
RoundUp en tres líneas. Pero en tres líneas, es tres veces menos breve y bueno.
4º-Siento que, en cierta manera, renuncio a "cabalgar" Excel.

Disculpa si me he pasado un pelin y cuatro pueblos. Se agracece la respuesta que puedas y a lo que
puedas.
Saludos
Des
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida