Saltar al contenido

Crear macros en la hoja y en castellano


Antoni

Recommended Posts

publicado

Hola de nuevo:

Mi constante labor de "evangelización macroniana" me ha llevado a este aporte.

Después de analizar en profundidad las posibles causas por las que no se utilizan las macros, llegué a las siguientes conclusiones:

1) Pánico y desconocimiento del inglés.

2) Pánico a pulsar Alt+F11 y ver lo que pasa

3) Pánico a no ver la hoja Excel delante de los ojos

4) Pánico al uso de la grabadora de macros

En fin, resumiendo todas las causas en una: PÁNICO

Pues he intentado que ese pánico desaparezca, he desarrollado una nueva forma de escribir macros:

. FórmulaExcel

FórmulaExcel es un "lenguaje" que se escribe en la hoja, en castellano, y que genera el código VBA tal como si lo hubiéramos escrito en el Editor de VBA.

Por supuesto, tiene sus limitaciones, pero todo y así, creo que recoge las suficientes instrucciones como para resolver el 80% de las consultas sencillas que llegan al foro.

Formula Excel, se escribe en una hoja Excel estructurada a imagen de las antiguas "hojas de codificacion" de los primeros lenguajes de programación, en concreto se parece mucho a un lenguaje que alguno de los miembros mas viejos quizás recordarán, el lenguaje RPG II.

La hoja está dividida en tres partes dieferenciadas de tres columnas cada una:

1) PRIMER OPERANDO

.Columna 1 -Libro

.Columna 2 -Hoja

.Columna 3 -Rango/Variable

2) INSTRUCCION

.Columna 4 -Auxiliar 1

.Columna 5 -Código de Instrucción

.Columna 6 -Auxiliar 2

3) SEGUNDO OPERANDO

.Columna 7 -Libro

.Columna 8 -Hoja

.Columna 9 -Rango/Variable/Expresión

La columna 10 se destina a comentarios.

Os dejo dos archivos

FormulaExcel Software 2003.xls, para escribir y traducir las macros

FormulaExcel Ejemplos 2003.xls, donde encontrareis ejemplos de todas las instrucciones y unas macros de ejemplo.

Voy a intentar responder a algunas consultas con este "lenguaje", que creo que va a ser una herramienta sencilla para los que empiezan con macros y puedan ver de forma fácil las principales instrucciones de VBA.

Espero vuestros comentarios y en especial las críticas.

Saludos.

REVISION 1. VER POST #9

FormulaExcel Software 2003.zip

FormulaExcel Ejemplos 2003.zip

publicado

Hola Macro Antonio, para empezar comentar:

Mi constante labor de "evangelización macroniana" me ha llevado a este aporte.

Después de analizar en profundidad las posibles causas por las que no se utilizan las macros, llegué a las siguientes conclusiones:

1) Pánico y desconocimiento del inglés.

2) Pánico a pulsar Alt+F11 y ver lo que pasa

3) Pánico a no ver la hoja Excel delante de los ojos

4) Pánico al uso de la grabadora de macros

En fin, resumiendo todas las causas en una: PÁNICO

Me parece increíble tu perseverancia para llevarnos a tu campo, cosa que por otra parte alago, pero siguiendo con el comentario decirte qué, por lo menos en mi caso es el primero, el problema con el inglés, los demás no me dan miedo ni pánico, incluso en algún caso he utilizado la grabadora, pero claro para casos muy sencillos, ya que hay cosas que no sé como plantearlo en la grabadora.

Aun no he mirado tus archivos, pero si funcionan como planteas, estoy seguro que será un punto muy importante para por lo menos empezar a entender algunos códigos, que ese es el gran problema, no entenderlos y saber que hacen.

Te prometo que cuando los vea con tranquilidad te diré algo, aunque ya tienes que tener en cuenta que mi modesta opinión sobre macros no te serán de mucha ayuda.

Un saludo, Germán.

PD: Ah, y no creas que por mis palabras has conseguido llevarme a tu terreno, eh, jejejejejejee, saludos.

publicado

He mirado los archivos y sinceramente me parecen muy interesantes, y como no podía ser de otra manera vienen las dudas, lo que si he tenido que utilizar algunas veces es copiar una celda o rango y luego pegar en otro sitio pero tan solo los valores que hubiera en las primeras, y eso no lo he visto, ¿puedes decirme si están y donde?.

Enhorabuena por el trabajo, gracias y un saludo, Germán.

publicado

Macro

No puedo criticar tu trabajo, solo puedo felicitarte y agradecer tu increible dispocicion para con todos los foreros.

Te envio un cordial salu2 desde Santiago de Chile.

publicado

Saludos Maestro Macro_Antonio.

Esta pendiente el que revise y estudie los archivos, pero sin duda alguna que sera excelente como siempre han sido sus aportes, respecto a la "evangelización macroniana", no cambie Maestro siga adelante que en lo personal encuentro sumamente valiosa la informacion y conocimientos que tan amablemente nos proporciona, "Gracias por todo Maestro".

Atte.

joshua

publicado

Hola Germán:

Para copiar un rango sobre otro:

Copiar_rango        MACRO				
RANGO("A2:A5") COPIAR RANGO("B2:B5")
FIN MACRO
[/PHP]

Saludos.

publicado

LOL!!,

Perdon que no empiece con "Hola", pero me ha parecido monstruoso Mr Macro Antoni Master.

Menuda currada que te has pegado, acabas de crear un pequeño motor de compilacion para VB en excel xDDDDDDDDD, ke makina que estas hecho ;)

Pues, no pensaba criticarte sino mas bien felicitarte, pero como pides criticas, ahi va una destructiva:

- Me parece mas complicado aprender a usar este compilador de instrucciones que aprender a usar el grabador de macros. Eso si, quien se aventure a leer todos los comentarios y a estudiar las opciones, de seguro va a convertirse muy pronto en un macroniano como tu y yo :D.

- Ahora critica constructiva. Esto es una idea que me ha surgido a raiz de ver tu genial archivo. ¿Y si implementaras una funcion que al escribir una formula en una celda, saliera un TextBox con el texto macro correspondiente?, Ejemplo:

* {Me situo en celda A1}, {escribo:} =LARGO(A2), {pulso enter}, aparece TextBox con un mensaje del estilo:


[COLOR="DarkGreen"]'macro para crear formula relativa a celda activa[/COLOR]
ActiveCell.FormulaR1C1 = "=LEN(RC[1])"

[COLOR="DarkGreen"]'macros para crear formula exacta en la celda objetivo[/COLOR]
Cells(1, 1).Formula = "=Len(Cells(1, 2))"
[A1].Formula = "=Len(B1)"

[COLOR="DarkGreen"]'Macros para aplicar el resultado de la formula en modo Valor (sin formula) [/COLOR]
[A1] = Len([B1])
Cells(1, 1) = Len(Cells(1, 2))[/CODE]

Es solo una idea, seria una megacurrada por la gran base de datos que deberia poseer en macros, pero posible, y ningun formuliano tendria excusa para no saber que macro corresponde a cada funcion de las que esta tan acostumbrado a usar.

Bueno, eso es todo, un magnifico trabajo y una idea excelente amigo.

Saludos!

publicado

Hola Antoni, pero creo que ese código que me has puesto solo copiaría tal cual, no? o sea que si hubiera fórmulas copiaría éstas, dime si me equivoco o es así, ya que yo comentaba;

lo que si he tenido que utilizar algunas veces es copiar una celda o rango y luego pegar en otro sitio pero tan solo los valores que hubiera en las primeras

Saludos, Germán.

publicado

Hola Verzulsan:

Me parece mas complicado aprender a usar este compilador de instrucciones que aprender a usar el grabador de macros.
Desde luego, para hacer funcionar la grabadora, solo hay que pulsar un botón, pero, con la grabadora de macros:

.No se pueden usar variables

.No se pueden usar expresiones

.No se pueden usar bucles

.No se pueden usar condiciones

.No se pueden poner comentarios

Nunca ha sido mi intención competir con la grabadora de macros, y mucho menos con VBA, simplemente he pretendido facilitar el acceso a las macros a aquellas personas que sienten la necesidad de "algo mas" y no acaban de entender como.

Por ejemplo:

Me parece mucho mas sencillo para un castellano parlante poner:

Hoja1 COPIAR Hoja2

que:

Sheets(Hoja1).Cells.Copy Sheets(Hoja2).Cells

Si además se puede ver la traducción, pienso, que puede ayudar mucho al empezar a introducirse en este tema.

¡ Ale !, pues hasta otra. "Saudiños dende A Galiza".

publicado

Hola Master y moderador Macro antonio

Margnifico tu aporte, viendolo me acorde de las ya casi extintas macrofunciones, las cuales trabajaban más o menos con la misma lógica que empleaste, y pues bueno comentar que fueron las antecesoras de VBA y que en las siguientes versiones de excel ya no las tendremos disponibles.

Aqui dejo un ejemplo para la nostalgia

saludos cordiales

Ejemplo MacroFun-nvr.zip

publicado

Hola never:

Gracias por tus consideraciones, tenía vaga idea de la macrofunciones de Excel4, y en su día hice un intento de averiguar algo sobre ellas, pero me enteré de su desaparición y perdí interés por el tema.

Pues por lo que veo, si que es algo parecido a FórnulaExcel, bueno al revés, es Formula Excel el que tiene un ligero parecido a las macrofunciones de Excel4, espero que no me acusen de plagio. .......jajaja

Saludos.

publicado

Exelente aporte, MacroAntonio. Estare revisandolo, a ver cuanto puedo aprender. Muchas gracias por tomar de tu preciado tiempo, para enseñarnos.

Saludos.

publicado

Antoni

Ahora no me cabe la menor duda de tu empeño y capricho para que muchos se adentre a las macros y por la cual en horabuena mi estimado, y no hagas caso a nadie que detenga tus caprichos, creeme que muchos recordaran este aporte, especialmente para los que comienzan con este otro lado de Excel VBA... y pues vaya que enorme aporte y dedicacion, tu mereces muchos aplausos/elogios/felicitaciones

GRACIAS!

Saludos

publicado

Macro, realmente buenísima tu hoja. Creo que es uno de los mejores aportes que he visto, no ya en Ayuda Excel sino en todas las webs sobre Excel que sigo. Como imagino que seguirás perfeccionando tu herramienta, te brindo la ayuda que puedas necesitar (y yo te pueda ofrecer, claro).

Saludos.

publicado

Muy bueno, solo queda familiarizarse un poco con la aplicacion.

Pero desde luego que esto se merece un cordero!!!

QUE BARBARIDAD!!!!

Eres un genio!

Un Saludo.

  • 1 month later...
publicado

genial, así hay cantidad de datos que puede uno valorar, al menos cuando te inicias en este mundo de las macros, a mi me parece buena idea-

saludos

merops

publicado

Buenas tarde

muy buen aporte el suyo, pero como no soy tan expert, no lo entiendo muy bien, pero aun así es excelente, no se si esto puede funcionar Viceversa, osea, en ves de escribir la macro, se coloque el código de programación de cualquier macro y este lo traduzca al español..

bueno es una idea,..que se me ocurrió...

saludos desde Bolivia

publicado

je,je,je...si que mi amigo Antonio esta 'bien loco' ,como decimos en 'mex' "se le van las cabras al monte" (para bien) :)

pues a ver si ahora se le ocurre a el o algun otro la inversa para los que no se nos da eso de aprender y apicar las funciones nativas de excel :)

bien por las locuras !!!!!!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.