Canales de Ingeniería Civil en: *Whatsapp* / *Telegram*

Macros en Excel

Para subir hojas de calculo de Ingenieria civil
Reglas del Foro
Favor de usar el boton de Dar Gracias
En el mensaje del usuario al que deseas agradecer
En vez de escribir gracias repetidamente
Responder
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

6 pasos básicos para quienes deseen crear su primera macro en Excel.

No olviden grabar antes de salir.

Este Post es para compartir todo lo relacionado con macros en Excel.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
jo_Cbc
Usuario Intermedio
Usuario Intermedio
Mensajes: 79
Registrado: Sab May 26, 2007 10:24 am
Ubicación: guayaquil

Saludos... Muy bueno el ejemplo, práctico y excelente para los que recién comienzan...
Aquí les dejo un link que me ha ayudado bastante a mí para aprender a programar en VB.net (que es muy similar a VB6 que es el que se utiliza para hacer macros):
http://www.elguille.info/NET/cursoVB.NET/Default.aspx
jhing
Usuario Master 1
Usuario Master 1
Mensajes: 287
Registrado: Mié Jun 16, 2004 12:26 pm
Ubicación: Santiago

Muy buen tema este sobre macros en excel, ojala que las personas que manejan bien la programacion en este lenguaje compartan sus conocimiento en una tarea lo mas parecida posible al excelente aporte hecho por Fernando Yevenes en cuanto al MahCad.
Yo pienso que el primer paso ya esta dado por Rene con esa introduccion basica y ojala continuemos aprendiendo ojala hasta lograr obtener los diagramas de interaccion de columnas rectangulares.

Saludos y Gracias
Avatar de Usuario
jo_Cbc
Usuario Intermedio
Usuario Intermedio
Mensajes: 79
Registrado: Sab May 26, 2007 10:24 am
Ubicación: guayaquil

Saludos...
A manera de ejemplo, aunque no es en excel, tengo un macro en autocad para diagramas de interacción de columnas que hice hace bastante tiempo, pero nunca lo terminé ni comprobé si estaba del todo bien; pero creo que sirve de guía para empezar a programar....
Si hay alguien con más experiencia programando, se recibe cualquier tip y corrección que se le pueda hacer a este programita...
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
consclaud
Usuario Principiante
Usuario Principiante
Mensajes: 14
Registrado: Sab Sep 01, 2007 10:38 am
Ubicación: JULIACA

ESPERO QUE LE SIRVA

http://www.exceluciones.com/


ATTE

CLAUD
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Hola a todos, espero que puedan ayudarme con la siguiente duda.

¿Como seria la estructura basica de un macro en excel que haga lo mismo que el comando solver, es decir, que itere cambiando valores aleatoriamente en una o mas celdas hasta que se cumpla una condicion en una deterimanda formula?.

Tambien me gustaria hacer un macro similar pero que en vedez de usar valores aleatorios, tome valores de una lista hasta que optenga un maximo.

desde ya muchas gracias.
Avatar de Usuario
jo_Cbc
Usuario Intermedio
Usuario Intermedio
Mensajes: 79
Registrado: Sab May 26, 2007 10:24 am
Ubicación: guayaquil

PROYECTOR escribió:Hola a todos, espero que puedan ayudarme con la siguiente duda.

¿Como seria la estructura basica de un macro en excel que haga lo mismo que el comando solver, es decir, que itere cambiando valores aleatoriamente en una o mas celdas hasta que se cumpla una condicion en una deterimanda formula?.

Tambien me gustaria hacer un macro similar pero que en vedez de usar valores aleatorios, tome valores de una lista hasta que optenga un maximo.

desde ya muchas gracias.
Saludos...
Primero, le soy sincero, yo no he hecho macros en excel, pero se me ocurren dos cosas (pero no las puedo probar porque no tengo excel aquí en el trabajo, tal vez mañana le pueda dar una respuesta más completa):

1.- Si quiere buscar un máximo puede usar la función MAX que es propia de excel y supongo yo se debe poder usar en las macros...

2.- En caso que no se pueda, puede usar la función FOR y la función IF combinadas... Con FOR puede ir avanzando por las celdas que requiera y con IF condiciona que se guarde en una variable "x" el valor de la celda solamente si éste es mayor que el valor de "x"...

Espero haberlo ayudado... Voy a intentar hacer un ejemplo, pero tendrá que esperar...
jhing
Usuario Master 1
Usuario Master 1
Mensajes: 287
Registrado: Mié Jun 16, 2004 12:26 pm
Ubicación: Santiago

Siceramente yo tengo algunas planillas con macros pero no se como han sido creadas, entro en el codigo pero no he podido decifrarlo.

Saludos
Avatar de Usuario
AXE
Usuario Intermedio
Usuario Intermedio
Mensajes: 63
Registrado: Jue Dic 14, 2006 10:36 am
Ubicación: La Paz - Bolivia

Bueno es mas o menos como dice jo Cbc en realidad la ventaja de Visual Basic incorporado en excel (MACROS) es que cualquier operación que realicemos la podemos guardar en una macros entonces si quieres buscar un valor, encontrar maximos, etc. Puedes grabar una macros que realice todos los procesos que requerimos y despues la macros lo hara sola. Pero como también menciono se puede recurrir a las sentencias adecuadas. Para que este claro colocaré un ejemplo en la semana. Espero haber ayudado.
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Gracias a todos por sus comentarios.

Les voy a explicar mejor de que se trata mi duda para que puedan ayudarme.

quiero hacer un macro que haga una iteración cambiando valores aliatoriamente en 2 celdas (1,1) y (1,2) hasta que en otra celda (2,2) se optenga un valor igual a "0"; osea un vulgar tanteo como el que hace el comando solver de excel.

Habia pensado hacer la iteracion con el comando Do until mas o menos de la siguiente manera.

Ejemplo:

Do until (cell (2,2).value = 0)
ESTRUCTURA DEL TANTEO (lo que no se hacer).
Loop

¿Esta bien asi?.

Me imagino que el tanteo lo puedo hacer con RND (random), pero ni idea de cual es la sintaxis para usarlo.

Si saben alguna otra manera de que el programa haga el tanteo de valores aleatorios seria bueno saberla.
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

Hola, si lo que deseas es resolver una ecuación jamás debes usar el método del tanteo aleatorio. Si no puedes resolver la ecuación en forma explícita debes utilizar métodos numéricos para encontrar las soluciones. Existen muchos de ellos, el más conocido es el método de Newton-Raphson. De hecho el Solver de Excel utiliza un método nolineal optimizado llamado Gradiente Reducida Generalizada.
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Gracias René

Lo que deseo resolver no es una ecuación como tal, es decir, es una ecuación de equilibrio que puede variar para determinadas condiciones.

Estoy aplicando el método de Kennet E. wilson para resolver zapatas parcialmente comprimidas el cual es muy similar al metodo de Joseph Bowles, el cual hasta donde yo se, consiste en ir tanteando hasta lograr el equilibro entre las fuerzas aplicadas y las reacciones, claro que para no hacer el tanteo tan engorroso se pueden aplicar métodos matemáticos como los que mencionas.

Hasta ahora la hoja funciona bien con el solver pero tiene limitaciones.

La limitación más importante que tiene la hoja es que uno tiene que cambiar manualmente las combinaciones de carga y ejecutar el solver cada vez para obtener de esta manera el diseño final.

Yo se como hacer "sin macros" para revisar con excel cada combinación de carga y que me arroje los resultados para la mas desfavorable, pero en este caso como las ecuaciones son muchas la hoja quedaría demasiado engorrosa ya que tendría que hacer lo mismo con cada combinación, y son bastantes.

Es por esto que he desidido recurrir a macros para agilizar el proceso y mi primera meta, por asi decirlo, es hacer un macro que cumpla la misma función que el solver.

¿Cual seria la manera más adecuada de realizar el macro?
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

Hola, supongo que deseas resolver el caso en que la zapata tiene una esquina levantada y las otras tres comprimidas.

Veo dos opciones:

1.- Plantear las ecuaciones y resolverlas mediante un método iterativo de convergencia.
2.- Usar la potente herramienta solver desde la macro.

Si fuera posible usarla, me parece que la opción 2 es la más rápida, fácil y conveniente. Personalmente no he utilizado Solver en EXcel por lo tanto no podría ayudoar mucho en la opción 2.
Espero que alguien pueda cooperar, sería una gran ayuda.


Encontré esta página donde explican cómo usar Solver desde una macro.

http://www.vertex42.com/ExcelArticles/e ... mples.html
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Oh muchísimas gracias ingeniero, no tenia idea de que se puede ejecutar el solver desde un macro, sin duda alguna esto es lo que necesitaba! :bana:

Si logro hacerlo mando la hoja para que la comenten y me den sus sugerencias.
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Hola! hice el solver desde un macro tal y como sale en las ayudas de excel, pero me sale un error.

En la imagen adjunta se puede ver como elaboré el macro y el error que me da al correrlo

Espero que puedan ayudarme a corregir mi error.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

Hola, cuando estés dentro de VBA debes ir a Tools > References y seleccionar Solver, esto cargará las librerías de Solver.
Avatar de Usuario
PROYECTOR
Moderador
Mensajes: 695
Registrado: Lun Mar 19, 2007 9:39 am
Ubicación: Caracas
Venezuela

Muchas gracias a todos por su ayuda!

El macro para ejecutar el solver funcionó a la perfección.

Aqui les adjunto la versión preliminar de mi hoja de calculo para zapatas parcialmente comprimidas y totalmente comprimidas, les explico como funciona.

1.- En el capitulo 1 se introducen todos los datos preliminares, incluyendo los casos basicos de carga (sin mayorar).

2.- En el capitulo 2 se lleva a cabo la combinación de las cargas, tanto en servicio como para el estado ultimo de agotamiento resistente de acuerdo a la norma IBC 2006.

3.- En el capitulo 3 es donde se realiza el chequeo de la capacidad portante de suelo y del porcentaje de area en tracción de la zapata, para realizar el analisis se selecciona la combinacion de carga mas critica y se le da al boton "CALCULAR".

4.- En el capitulo 4, se chequea la estabilidad de la zapata tanto al volcamiento como al deslizamiento, aqui el programa entrega los resultados para la combinación más critica de cargas en servicio.

5.- Aqui se calcula el esfuerzo máximo de reaccion en el suelo para las combinaciones de carga del estado ultimo de agotamiento resistente "mayoradas", el cual será usado en diseño estructural de la zapta. (se procede igual que en el capitulo 3).

6.- En los capitulos siguientes se diseña la zapata a corte, punzonado y flexion, se hace la distribucion del armado y se chequea el desarrollo de las barras (todo de acuerdo a la norma ACI 318-05).

Aun me falta hacer un macro para que en los capitulos 3 y 5 no sea necesario seleccionar la combinacion de carga.

Espero sus comentarios, criticas y sugerencias.
Última edición por PROYECTOR el Lun Jul 14, 2008 9:14 pm, editado 1 vez en total.
Avatar de Usuario
denilsoning
Usuario Intermedio
Usuario Intermedio
Mensajes: 50
Registrado: Mié Abr 30, 2008 3:16 pm
Ubicación: Juliaca

aqui les dejo un pequeño aporte
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
JISANTOS
Usuario Principiante
Usuario Principiante
Mensajes: 30
Registrado: Vie Jul 25, 2008 10:15 am

GRACIAS POR LA INFORMACION, EXCELENTE.
Avatar de Usuario
nigema
Usuario Frecuente
Usuario Frecuente
Mensajes: 129
Registrado: Vie Abr 20, 2007 12:31 pm
Ubicación: LA PAZ

gracias por el aporte
SAludos!!!!
:D :D :D :D
Avatar de Usuario
Ingdanielfl
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Jue Ago 02, 2007 12:23 pm
Ubicación: Cusco

muy buen espero que sigamos culturizandonos de parte de mi eso hago y hare siempre :escr: :SM105:
Muchas gracias
Atentamente
Daniel
Avatar de Usuario
beegees
Usuario Intermedio
Usuario Intermedio
Mensajes: 57
Registrado: Jue Mar 31, 2011 2:32 pm
Nicaragua

Hola PROYECTOR, es bueno saludarlo una vez mas;

Me doy cuenta de lo util que es el programa de zapatas que ha elaborado.

me gustaria tener dicho programa,pero por alguna razon,no encuentro el archivo adjunto,podria colgarlo nuevamente? o indicarme como hago para descargarlo.

Gracias por sus comentarios y aportes a este foro.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje

Volver a “Hojas de Calculo Excel”

  • Información