PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
ejemplo macro.pdf
1. Como crear tus propias
funciones para Calc usando
macros
Crear tus
propias
funciones
para Calc
usando
macros es
realmente
sencillo.
Veamos un sencillo ejemplo como muestra:
necesitamos una función que calcule la raiz
(cuadrada, triple, cuarta...) de un valor. Por
supuesto que se puede realizar con una
Buscar en open-office.es
Buscar
Patrocinados por:
OpenOffice Calc
Apache OpenOffice Calc en español
Inicio Writer Calc Impress Base Draw Math
Extensiones Basic
Libro de visitas Manual de Calc Bienvenid@s !!!
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
1 de 16 04/08/15 09:05
2. sencilla fórmula (por ejemplo, calcular en la
celda B3 la raiz cuarta del valor contenido en
la celda A3 es tan sencillo como escribir en
B3 la fórmula =A3^(1/4)), pero en este post
sólo pretendemos ilustrar cómo crear una
función; la complejidad de ésta depende de
las necesidades del usuario.
Crear la función
Paso 1: Activar el editor de macros
Abre un nuevo documento Calc, y guárdalo con
un nombre, por ejemplo Mi_Función.ods.
Activar el editor de macros desde el menú
Herramientas > Macros > Organizar macros
> OpenOffice.org Basic....
OOo mostrará el diálogo Macros básicas de
OpenOffice.org; haz clic sobre el signo + que
se muestra delante del nombre de tu archivo
(en nuestro ejemplo, Mi_Funicón.ods), y
selecciona la carpeta Standard; a
continuación, haz clic sobre el botón Nuevo.
OOo creará un nuevo módulo dentro de tu
documento, y solicitará la confirmación del
nombre de éste; dado que para nosotros es
intrascendente, aceptaremos sin más.
E n l a c e s
Inglés para los más pequeños de
la casa
Botón Me gusta de Facebook
paso a paso
Celda con lista desplegable en
Excel
Tutoriales para tu PC
Acceso de
http://www.facebook.com
%2Fwww.facebook.com
height=235&colorscheme
OpenOffice ES
+ 560
Seguir +1
Identi.ca Tuenti LinkedIn
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
2 de 16 04/08/15 09:05
3. Paso 2: Escribir la función en el editor de
macros
La función que vamos a crear es sencilla; la
llamaremos RaizX (sin acento), y precisará que
le indiquemos el número y qué raiz deseamos
que calcule; al primer valor lo llamaremos
Numero, sin acento, y al segundo, Raiz,
tambien sin acento.
En el editor Basic teclearemos el siguiente
código justo debajo de la instrucción Sub Main
/ End Sub:
Function RaizX( Numero, Raiz )
Ten en cuenta que escribimos sin utilizar
acentos, y que ponemos Function, en inglés,
no Funcion, en castellano. Además, a
diferencia de las funciones que utiliza Calc en
la que los argumentos se separan por puntos y
coma (;) en Basic los argumentos de la función
se separan por comas (,).
Con esta instrucción declaramos la función
RaizX, que necesitará dos parámetros
(argumentos), a los que llamaremos Numero y
Raiz.
A diferencia de las subrutinas, identificadas
como Sub en Basic, las funciones devuelven
un valor, por lo que serán perfectas para
utilizarlas en Calc.
A continuación, escribiremos una nota
WebHostal
Motor de reservas para pequeños y
medianos hoteles, hostales, pensiones y
albergues
Apache OpenOffice OFICIAL
Descargar Apache OpenOffice OFICIAL
Foro OFICIAL en Español
Web OFICIAL de Apache OpenOffice
Gracias por tu visita
Acerca_de... Política de privacidad
Aviso legal Para contactar
Uso de cookies
Utilizamos cookies propias y de terceros para
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
3 de 16 04/08/15 09:05
4. aclaratoria, para que cualquier usuario que lo
precise, o nosotros mismos, dentro de varios
meses, nos describa qué hace esta función. La
nota aclaratoria es una línea que empieza por
una comilla sencilla (').
' Devuelve la raíz X de un número;
por ejemplo, RaizX( 125, 3)
devuelve la raiz cúbica de 125
Tecleamos una tercera línea, que realmente es
el corazón de esta sencilla función. Para
calcular la raiz X de un número, debemos
elevar este número a 1/X. Matemáticamente
es sencillo.
Para que la función devuelva el valor
calculado, debemos asignarlo al nombre de la
función; es tan sencillo como escribir el
nombre de la función, un signo igual, y la
operación matemática. Teclea la tercera línea.
RaizX = Numero^(1/Raiz)
Recuerda que no estamos utilizando acentos. Y
observa que utilizamos las mismas
combinaciones de letras mayúsculas y
minúsculas en todo momento. Quizás prefieras
escribir todo en minúsculas, o todo en
mayúsculas. Eso, a tu gusto.
Para finalizar, le indicaremos a Basic que
hemos terminado con nuestra función. Tan
sólo necesitamos una línea más:
End Function
El código debe de quedar tal como muestra la
imagen; las líneas adicionales son para
mejorar la lectura del código.
mejorar nuestros servicios y mostrarle publicidad
relacionada con sus preferencias mediante el
análisis de sus hábitos de navegación. Si continúa
navegando, consideramos que acepta su uso.
Puede obtener más información, o bien conocer
cómo cambiar la configuración, en nuestra
Política de cookies .
Suscripciones
RSS 2.0: Publicaciones Comentarios
Atom: Publicaciones Comentarios
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
4 de 16 04/08/15 09:05
5. Guardamos el código ( desde el editor Basic,
selecciona desde el menú Archivo > Guardar,
o haz clic sobre el botón con forma de
disquete, o pulsa Ctrl + G) y cierra el editor
Basic.
Paso 3: Probar el funcionamiento
En nuestra hoja
de cálculo
vamos a teclear
unos datos
(imagen a la
izquierda): En la
celda B2 tecleamos el número 125; en las
celdas C2 a C5 tecleamos 2,3,4 y 5; en la
celda D2 escribimos la siguiente fórmula:
=RaizX(B2;C2) y pulsamos Intro. Debe de
mostrar como resultado 11,18.
Observa que desde Calc SI que utilizamos ; en
lugar de comas para separar los argumentos.
Corregimos la
fórmula para
convertir la celda
B2 en referencia
absoluta (imagen
a la derecha),
por lo que en la celda D2 tendremos la
siguiente fórmula: =RaizX( $B$2;C2) y
pulsamos Intro. Ahora extendemos la fórmula
al rango D3:D5 y comprobamos que todo ha
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
5 de 16 04/08/15 09:05
6. ido perfectamente.
Dónde almacenar la función creada
A la hora de escribir una macro podemos
almacenarla en una de estas dos áreas: Mis
Macros o en el documento actual.
Almacenarla en Mis Macros supone que estará
disponible para todas las aplicaciones de OOo,
y por lo tanto, para todos los documentos Calc
que utilicemos. Pero tiene un inconveniente:
esta área tan sólo está disponible en nuestro
equipo; si enviamos por correo un documento
utilizando la función, el receptor del
documento no tendrá acceso ésta, y por lo
tanto, no la podrá utilizar.
Al mismo tiempo, si almacenamos la macro en
el documento actual no será accesible para el
resto de aplicaciones OOo, ni siquiera para
otros documentos creados con Calc. En esta
caso, en cambio, al mandar el documento por
correo, dado que incorpora la función creada,
sí que podrá ser ejecutada por el receptor del
documento.
Podemos almacenar la macro creada en un
documento, y guardar éste como plantilla.
Cualquier documento creado a partir de ésta
tendrá acceso a la macro, pero seguirá siendo
invisible para otros documentos.
Lo ideal, por tanto, será generar la macro en
el documento, y si deseamos utilizarla en
otros documentos dentro de nuestro equipo,
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
6 de 16 04/08/15 09:05
7. copiarla al área Mis Macros. Para el caso que
deseamos utilizar la macro en otro
documento, y enviarlo por correo a un
tercero, deberemos almacenar una copia del
código macro en el documento.
Copiar la macro desde el documento a
Mis Macros, y viceversa
Realmente es sencillo; sigue estos sencillos
pasos:
Paso 1: Copiar la macro del documento al
portapapeles
Abrimos de nuevo el editor de macros: desde
el menú Herramientas > Macros > Organizar
macros > OpenOffice.org Basic... accedemos
a la macro creada en el documento desde
Mi_Función.ods > Standard > Module1
seleccionamos RaizX y pulsamos el botón
Editar.
Ya en el editor Basic, seleccionamos todo el
código de la función, lo copiamos al
portapapeles (desde el menú Editar > Copiar
o pulsando la combinación de teclas Ctrl + C).
Paso 2: Pegar la macro del portapapeles al área
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
7 de 16 04/08/15 09:05
8. Mis Macros
Desde el editor de Basic, hacemos clic sobre el
botón Seleccionar Módulo.
Seleccionamos el módulo Mis Macros >
Standard > Module1, y hacemos clic sobre el
botón Editar.
Justo debajo de la sentencia Sub Main / End
Sub hacemos clic, y pegamos (desde el menú
Editar > Pegar o pulsando la combinación de
teclas Ctrl + V).
Guardamos los cambios en el editor y
cerramos éste.
Resumiendo...
Crear nuestras propias funciones para
utilizarlas en Calc es sencillo; en la mayoría de
las veces tan solo necesitamos unos básicos
conocimientos de programación en Basic; lo
más complicado es decidir donde almacenar la
macro que contiene la función, y la respuesta
es sencilla: la almacenaremos en Mis Macros y
en el documento, para que en el caso de
enviarlo a un tercero, tenga acceso a toda la
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
8 de 16 04/08/15 09:05
9. funcionalidad de nuestra hoja.
Vota este post votar
• Categorías: Calc , Calc Medio ,
Vers. 3.3.x , Vers. 4.0 , Funciones , Macros
• Etiquetas: calcular , celda , macro , udf
• 03.01.11 • 28794 visitas
12 comentarios »
12 comentarios
Comentario De: Miguel Ortiz [Visitante]
Necesito crear un boton de macros. pero no se
como programarlo con la formula
ejemplo en el casilla b2 tengo el valor 10 que
es un numero decimal pero en la casilla f2
quiero que me muestre el numero binario de
esa cantidad pero no se como programarlo
gracias
27.03.14 @ 18:50
0 comentarios
Facebook Comments Plugin
Añade un comentario...
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
9 de 16 04/08/15 09:05
10. Comentario De: slv-es [Miembro] ·
http://open-office.es
Para Miguel Ortiz:
Hola, no necesitas crear una macro.
Tan sólo tienes que poner en la casilla F2
esto: =DEC.A.BIN(B2;8)
Esto muestra en F2 el número binario, con 8
cifras, del número decimal que contiene B2.
Gracias por tu consulta, si bien en adelante es
preferible que te dirijas al Foro Oficial (en la
columna de la izquierda verás el enlace)
desde donde un numeroso grupo de
voluntarios podrán ayudarte.
27.03.14 @ 19:17
Comentario De: Natalia [Visitante]
Hola, necesito crear un macro. La situación es
tengo en una hoja una columna que entre
otras variables tiene la variable edad.
Necesito una función que me permita crear
una nueva hoja con un cuadro con los
diferentes rangos de edades a modo de
ejemplo, una columna menor a un año, otra
entre 1 y 4 años, 5 y 14 etcera. para poder
saber cuantos tengo en esas edades. Estuve
viendo la función contar.si y no logro usar, no
sé si necesito un macro o esa función.
Gracias!!!!
29.04.14 @ 21:25
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
10 de 16 04/08/15 09:05
11. Comentario De: slv-es [Miembro] ·
http://open-office.es
Eso lo resolverás de forma muy elegante y
fácil con una tabla dinámica .
Mira el ejemplo del apartado Agrupar campos
de tipo Numérico
30.04.14 @ 15:40
Comentario De: Dante [Visitante]
He creado una función siguiendo el
procedimiento aqui descripto, pero no logro
que el nombre de la función aparezca en el
listado de funciones cuando se hace click en
el botón fx de la barra de fórmulas
11.08.14 @ 19:30
Comentario De: slv-es [Miembro] ·
http://open-office.es
Hola Dante
Las funciones creadas por los usuarios no se
muestran en el botón Fx. Se deben escribir de
forma manual en la barra de fórmulas.
12.08.14 @ 21:31
Comentario De: Pedro Rodriguez
[Visitante]
Hola. Quizas la petición sea un poco extraña.
Tengo un programa en python que desearia
incorporar como macro en Calc. ¿ hay alguna
forma de hacerlo directamente o tendría que
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
11 de 16 04/08/15 09:05
12. recodificarlo en Basic?.
Muchas gracias. Saludos.
25.09.14 @ 13:08
Comentario De: slv-es [Miembro] ·
http://open-office.es
@Pedro: AOO admite tanto OOBasic como
Python.
Te recomiendo que le eches un vistazo a la
wiki oficial; se está desarrollando un apartado
específico de Python en
https://wiki.openoffice.org/wiki/ES/Manuales
/GuiaAOO/TemasAvanzados/Macros/Python
De momento, nosotros no podemos ayudarte
en este lenguaje, pero en el Foro Oficial
encontrarás ayuda
Saludos
25.09.14 @ 15:02
Comentario De: luis [Visitante]
Tengo una tabla con 3 columnas de numeros
(los saco de otra tabla), con los que hago un
grafico. Necesito que al pulsar un boton(mi
idea es asociarlo a un evento para que al
actualizar la primera tabla, actualice el
grafico, de momento el boton me vale), me
ordene de mayor a menor la colunma 2,
selección extendida, para que actualice el
grafico. Gracias
13.10.14 @ 07:17
Comentario De: slv-es [Miembro] ·
http://open-office.es
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
12 de 16 04/08/15 09:05
13. @Luis: Gracias por tu consulta, si bien es
preferible que te dirijas al Foro Oficial (en la
columna de la izquierda verás el enlace)
desde donde un numeroso grupo de
voluntarios podrán ayudarte.
13.10.14 @ 21:09
Comentario De: Claudio [Visitante]
Estimado, necesito crear una función que me
devuelva el valor de una celda que contiene
formulas.
Aquí hay una macro que lo que hace es
devolver el valor sobre la misma celda que
contiene la formula y se basa sobre el copiado
y pegado especial:
Sub ConvertirFormulas()
'Copiar la selección de celdas
Selection.Copy
'Pegado Especial utlizando xlPasteValues
Selection.PasteSpecial Paste:=xlPasteValues
'Salir del modo de copiado
Application.CutCopyMode = False
End Sub
El problema es que yo necesito una función
que obtenga los valores sin borrar la celda
original que contiene la formula.
Le agradezco su ayuda
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
13 de 16 04/08/15 09:05
14. Nombre:
Claudio T
24.11.14 @ 19:46
Comentario De: slv-es [Miembro] ·
http://open-office.es
@Claudio
Una forma sencilla de obtener el valor de la
celda actualmente seleccionada es
Seleccion =
ThisComponent.CurrentSelection(0)
También puedes utilizar
getCellByPosition(col,fila).getString
Busca en la wiki oficial Macros en OOo Basic
Saludos
24.11.14 @ 23:08
Suscribirse a los comentarios de esta
publicación
Dejar un comentario
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
14 de 16 04/08/15 09:05
15. Email:
Texto
comentario:
Opciones:
Tu dirección email NO será mostrada en este
sitio.
Auto-BR (Saltos de línea se
convierten a <br />)
Recordarme (Nombre, email y
página web)
Permitir formulario de
mensajes (Permitir que los usuarios
contacten contigo vía un formulario de
mensajes; tu email NO se hará público)
Enviar comentario Vista previa
Otros visitantes vieron...
Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/...
15 de 16 04/08/15 09:05