extraer valor de una lista con macros

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
Miguel Vasquez
Mensajes: 34
Registrado: Mié Abr 25, 2012 8:02 pm

extraer valor de una lista con macros

Mensaje por Miguel Vasquez »

Saludos a todos,

Necesito de su ayuda urgente, tengo un archivo de calc, este archivo tiene una lista con datos, requiero extraer de una columna un valor pero utilizando la formula EXTRAER de calc.



Gracias...
fallas.ods
extraer datos
(97.72 KiB) Descargado 386 veces
OpenOffice 3.1 en Linus Canaima
xiseme
Mensajes: 1918
Registrado: Lun Nov 24, 2008 1:13 pm

Re: extraer valor de una lista con macros

Mensaje por xiseme »

¿Y porqué no emplear en el código la función Mid() que es el equivalente a la fórmula?
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco.
Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: extraer valor de una lista con macros

Mensaje por fornelasa »

Hola...
Miguel, aparte de que la macro no esta con las instrucciones precisas no se entiende que deseas hacer.
Recordemos que al usar formulas con macros estas deben estar en Ingles, por ejemplo:

Código: Seleccionar todo

oHoja = ThisComponent.CurrentController.ActiveSheet   	
For X= 1 to B-1
oHoja.getCellByPosition(18,X).Formula = "=IF(MID(NX;1;1)='G';(IF(MID(NX;3;1)>='0';MID(NX;5;2);MID(NX;4;2)));MID(NX;1;4))))"
dSuma = oHoja.getCellByPosition(18,X).Value
NEXT X	  
En esta instruccion MID(NX;1;1) ¿le intentas decir que te extraiga la letra N? y que sea igual a G ejemplo MID(NX;1;1)='G' ????
Si checas el codigo de la instruccion MID por ejemplo esta mal construida, ¿podrias explicar bien que deseas hacer?, tu post inicial es muy generico.

¿Que es NX?

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Miguel Vasquez
Mensajes: 34
Registrado: Mié Abr 25, 2012 8:02 pm

Re: extraer valor de una lista con macros

Mensaje por Miguel Vasquez »

buenas a todos los miembro de esta comunidad,

en función de mejorar la pregunta, en termino generales quisiera utlizar la funcion Extraer/Mid utilizando una macro


Saludos.

y Gracias por todos los que apoyen
OpenOffice 3.1 en Linus Canaima
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: extraer valor de una lista con macros

Mensaje por fornelasa »

Hay varias formas de hacer eso:
Sub ExtraerUno()
ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName("D2").Formula = "=MID(A2;C2;B2)"
End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------------------------
Sub ExtraerVarios()
ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName("D2:D10").ArrayFormula = "=MID(A2:A10;C2:C10;B2:B10)"
End Sub
Mira por favor el archivo ejemplo y corre las macros pulsando Alt-F11

Si tu separador de argumentos es la coma, entonces en la macro deberas cambiar el punto y coma ( ; ) por coma ( , ) Ejemplo: "=MID(A2,C2,B2)"
Asi no te dará error.
Saludos.
Adjuntos
ExtraerConMacro.ods
ExtraerConMacro
(11.94 KiB) Descargado 289 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Miguel Vasquez
Mensajes: 34
Registrado: Mié Abr 25, 2012 8:02 pm

Re: extraer valor de una lista con macros

Mensaje por Miguel Vasquez »

hola a todos,

Gracias FORNELASA el codigo me sirve bastante, si no fuera molestia te pido, como hago esto pero utilizando un ciclo, bien se For, Do o cualquier otro.


Gracias nuevamente y saludos.
OpenOffice 3.1 en Linus Canaima
Responder