[RESUELTO] manipulacion de valores en rango
[RESUELTO] manipulacion de valores en rango
Hola, de verdad estoy atorada con el desarrollo de una macro, dicha macro necesita manipular un valor introducido por el usuario en la formula norminv la cual requiere parametros pero no reconoce el valor introducido por el usuario e intentado darle la posicion del valor que necesito a traves de la direccion de celdas y no hace nada, por favor me urge ayuda en este pequeno inconveniente anexo la macro los resultados se plasmaran en las celdas AA5.
Gracias de antemano por el aporte
Gracias de antemano por el aporte
- Adjuntos
-
- celularprueba.ods
- (17.66 KiB) Descargado 221 veces
Última edición por isnar18 el Mar Nov 30, 2010 3:37 am, editado 2 veces en total.
openoffice 3.2
windows seven
windows seven
Re: manipulacion de valores en rango
Hola...
He abierto el archivo y visto la macro, la ejecuto y no me da error, pero la verdad es que no se que quieres hacer. Si me explicas con gusto te ayudo...
Saludos
He abierto el archivo y visto la macro, la ejecuto y no me da error, pero la verdad es que no se que quieres hacer. Si me explicas con gusto te ayudo...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: manipulacion de valores en rango
Hola mauricio gracias, bueno la macro necesita realiza calculos con la formula norminv, esta formula lleva ciertos parametros, cuando el usuario introduce el valor de la media por pantalla en mi maquina no corre me da un error entonces no se si el error es en el codigo o en mi maquina, =(
openoffice 3.2
windows seven
windows seven
Re: manipulacion de valores en rango
Me dejaste casi igual, pero he vuelto a revisar tu código y tienes los siguiente errores...
No se para que solicitas estos valores si no los usas más adelante en la macro:
En la siguiente línea tienes el rango AAB5:AA20
Supongo que lo que realmente quieres es el rango AA5:AA20:
La línea donde estableces la formula NORMINV es errónea
Tienes que concatenar los valores de modo que el resultado final sean argumentos validos para la formula, por ejemplo:
Si en media tiene un valor valido para la formula o un rango valido debes de concatenar este valor:
En mi libro esta documentado el uso de setFormula: http://user.services.openoffice.org/es/ ... =50&t=1545
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], adicionalmente puedes marcar el icono de la tilde verde, de esta forma conseguiremos un foro más ordenado.
Saludos
No se para que solicitas estos valores si no los usas más adelante en la macro:
Código: Seleccionar todo
'Nos aseguramos que sea un valor con Val y que sea positivo con Abs
Col = Abs(Val(InputBox("Dame la columna")))
Fil = Abs(Val(InputBox("Dame la fila")))
Código: Seleccionar todo
oRango = oHojaActiva.getCellRangeByName("AAB5:AA20")Código: Seleccionar todo
oRango = oHojaActiva.getCellRangeByName("AA5:AA20")Código: Seleccionar todo
oHojaActiva.getCellRangeByName("AB5").setFormula("=NORMINV(AA5;media;20)")Código: Seleccionar todo
oHojaActiva.getCellRangeByName("AB5").setFormula("=NORMINV(AA5;AA6;20)")Código: Seleccionar todo
setFormula("=NORMINV(AA5;" & media & ";20)")Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], adicionalmente puedes marcar el icono de la tilde verde, de esta forma conseguiremos un foro más ordenado.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] manipulacion de valores en rango
muchas gracias me sirvio de mucho, tu ayuda y tu libro me ha servido de mucho pero algunas cosas que no comprendo pido asesoria alli, estaba utilizando la primera parte porq estaba pidiendo la ubicacion del valor pero con la concatenacion resolvi todo y eso lo borre. gracias nuevamente. Saludos
openoffice 3.2
windows seven
windows seven
Re: [RESUELTO] manipulacion de valores en rango
Mauricio, por favor, ya logre q e=la subrutina que tenia el error me corriera bien pero ahora tengo problemas con la validacion, podras revisar el archivo que aca adjunto, en modulo 4 esta sin validacion y en modulo 1 con la validacion, en esta me queda en un ciclo y no hace mas nada solo solicita los datos, esto lo logre con la ayuda de tu bibliografia.
Recuerda que soy principiante en esto de las macro y en el lenguaje, gracias por a ayuda
Recuerda que soy principiante en esto de las macro y en el lenguaje, gracias por a ayuda
- Adjuntos
-
- celularprueba.ods
- (21.54 KiB) Descargado 214 veces
openoffice 3.2
windows seven
windows seven
Re: [RESUELTO] manipulacion de valores en rango
Hola...
Es un poco complicado ayudarte si no se que quieres hacer, solo puedo hacer deducciones en base a tu algoritmo, pero si este esta mal, se complica un poco, es mucho más sencillo que detalles que es lo que quieres lograr, no obstante tienes los siguiente errores:
Cuando vas a hacer un ciclo, lo primero que tienes que determinar es si será determinado o indeterminado, por ejemplo, un ciclo determinado: el algoritmo de -solicitar cinco nombres es
En código OOoBasic quedaría
Ahora, el ciclo indeterminado de esto sería, solicitar nombres hasta que el usuario introduzca salir:
En código
¿Vamos bien?, ahora, si tu solicitas un valor como limite de iteraciones como lo haces en la línea:
Cometes un error evidente y uno lógico, el primero es que el limite de iteraciones lo debes de pedir antes de que empiece tu ciclo, no después, y si ya tienes un limite de iteraciones, entonces es mejor que uses un ciclo determinado (For...Next) en vez de uno indeterminado (Do...Loop), que claro, puedes hacerlo, pero un buen consejo cuando empiezas a programar es que seleccionas las instrucciones más sencillas... Imagina que le pongo que me de 1000 iteraciones, el usuario tendría que estar introduciendo mil veces el número de iteraciones, el valor de la media, el valor de la desviación y el una formula que pides más adelante que no se que sea.
Revisalo y vuelve a intentarlo, en mi libro, creo, hay una introducción a la programación lo suficientemente ilustrativa para que lo resuelvas, eso si, hay que aplicarse.
Saludos
Es un poco complicado ayudarte si no se que quieres hacer, solo puedo hacer deducciones en base a tu algoritmo, pero si este esta mal, se complica un poco, es mucho más sencillo que detalles que es lo que quieres lograr, no obstante tienes los siguiente errores:
Cuando vas a hacer un ciclo, lo primero que tienes que determinar es si será determinado o indeterminado, por ejemplo, un ciclo determinado: el algoritmo de -solicitar cinco nombres es
Código: Seleccionar todo
CONTAR DESDE 1 HASTA 5
SOLICITAR NOMBRE
INCREMENTAR CONTADORCódigo: Seleccionar todo
For co1 = 1 To 5
sNombre = InputBox("Dame un nombre")
NextCódigo: Seleccionar todo
INICIAR CICLO
SOLICITAR NOMBRE
VERIFICAR LA PALABRA
SI NO ES salir REGRESACódigo: Seleccionar todo
Do
sNombre = InputBox("Dame un nombre")
Loop Until sNombre = "salir"Código: Seleccionar todo
limite = Trim( InputBox ("Ingrese el numero de iteraciones que requiera" ) )Revisalo y vuelve a intentarlo, en mi libro, creo, hay una introducción a la programación lo suficientemente ilustrativa para que lo resuelvas, eso si, hay que aplicarse.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: [RESUELTO] manipulacion de valores en rango
Ok gracias por el consejo,
me da penita algunas cosas, pero bueno asi es el aprendizaje, tendre en cuenta tus recomendaciones y lo que se desea es automatizar las muetsras es decir con la media y la desv hacer todos los calculos, lo que en teoria queria hacer y no logre era validar que solo sean numeros y que no pase de 65536 que es el numero de filas que puedo acceder en el calc. Modifico y si consigo otra duda, te vuelvo a molestar gracias

openoffice 3.2
windows seven
windows seven
Re: [RESUELTO] manipulacion de valores en rango
3.3 ha extendido el máximo número de filas a 2^20 = 1048576isnar18 escribió:y que no pase de 65536 que es el numero de filas que puedo acceder en el calc
Solo tendrás que actualizar
No respondo mensajes privados sobre AOO/LibO, por favor, utilice el foro para sus preguntas
LibreOffice en openSUSE con escritorio Plasma
---
Existen dos clases de personas: las que dicen que existen dos clases de personas y las que no.
LibreOffice en openSUSE con escritorio Plasma
---
Existen dos clases de personas: las que dicen que existen dos clases de personas y las que no.