Guardando Macros



Los macros creados por Excel pueden ser almacenados en 3 ubicaciones:

Guardando macros

Libro de Macros Personal (Personal Macro Workbook)

Los macros que se almacenan en esta ubicación estarán disponibles siempre que utilices Excel. El libro Personal está ubicado en la carpeta XLStart. Si esta carpeta no existe, Excel la creara la primera vez que selecciones esta opción.

 

Libro Nuevo (New Workbook)

Excel coloca el macro en un libro nuevo.

 

Este Libro (This Workbook)

Excel almacenara el macro en el libro que está siendo utilizado al momento de guardar el macro.

Introducción a los Macros en Excel

Un macro es un procedimiento generado por el grabador de macros, el cual es una herramienta que viene incluida dentro de las aplicaciones de Microsoft Office, tal como Excel, Word o Power point entre otras.

El grabador de Macros permite grabar un conjunto de acciones cuando estas se ejecutan dentro de la aplicación, en el caso específico que estamos tratando, Excel. Las instrucciones de los macros se graban dentro de un módulo, utilizando el lenguaje Visual Basic para Aplicaciones, el cual es un lenguaje de programación orientado a objetos. El código generado puede ser visto y editado de ser necesario entrando en el editor de Visual Basic para Aplicaciones, llamado VBE.

Para poder tener acceso al grabador de macros y al editor de VBA, primero hay que activar el menú de DESARROLLADOR, para que este aparezca en la cinta de menú. Para hacer esto hay que ir a las opciones de Excel y seleccionar Personalizar cinta de opciones. Allí hay que activar en la casilla la opción DESARROLLADOR.

La secuencia es Archivo y seleccionar Opciones

Captura de pantalla 2015-10-12 10.28.27

En opciones de Excel, seleccionar personalizar cinta de Opciones y activar DESARROLLADOR.

Captura de pantalla 2015-10-12 10.23.21

Esto permitirá el acceso al menú de DESARROLLADOR en la cinta de menú.

 cinta desarrollador

De momento solo estamos interesados en el menú de código.

menu codigo

En primer lugar aparece un icono de Visual Basic que da acceso al editor de Visual Basic para Aplicaciones.

Luego aparece el icono de Macros, que da acceso al listado de macros creados y diferentes opciones para ejecutar, modificar o eliminar macros entre otras.

menu macros

Y posteriormente aparecen los iconos de Grabar macro, Usar referencias relativas y Seguridad.

Al hacer clic en el icono de Grabar macro se inicia la grabación de todas las acciones que ejecutemos con la aplicación. Al finalizar debemos hacer clic para detener la grabación.

Otra forma de iniciar la grabación de un macro es haciendo clic sobre el icono que aparece en la barra de notificación, en la parte inferior de la ventana.

boton macro inferior

Hagamos un ejemplo sencillo para entender la mecánica de cómo funciona una macro generada con el Grabador de macro.

Supongamos que debemos hacer una tabla diariamente en donde recojamos los datos de venta de productos y que se desea que esta tenga un formato estándar.

1.- Activamos el grabador de macros y aparecerá el siguiente cuadro de dialogo, para indicar el nombre del Macro, El método Abreviado, el cual es el conjunto de teclas que deben pulsarse con Ctrl para ejecutar el macro. Donde se guardara el macro y la descripción del macro.

menu grabar macro

2.- Al hacer clic en aceptar se comienzan a grabar todas las acciones que ejecutemos con la aplicación.

Comenzamos colocando el Texto Reporte Diario en la celda A2, luego colocamos en las fila 5 los encabezados de las columnas A, B, C y D con Producto, Cantidad, Vendedor y Precio Unitario respectivamente.

3.- Al finalizar hacemos clic para detener la grabación, ya sea en el icono en la cinta de menú, o en el icono en la barra de notificación

4.- El resultado de nuestras acciones se pueden ver en la siguiente figura

hoja con macro

5.- El código generado por el grabador de macros lo podemos inspeccionar en el VBE, haciendo clic en el icono de Visual Basic o con la combinación Alt+f11.

Sub ReporteDiario()

‘ ReporteDiario Macro

‘ Reporte diario de Ventas

‘ Acceso directo: Ctrl+Mayús+V

Range(“A2”).FormulaR1C1 = “Reporte Diario de Ventas”

Range(“A5”).Select

ActiveCell.FormulaR1C1 = “Producto”

Range(“B5”).Select

ActiveCell.FormulaR1C1 = “Cantidad”

Range(“C5”).Select

ActiveCell.FormulaR1C1 = “Vendedor”

Range(“D5”).Select

ActiveCell.FormulaR1C1 = “Precio Unitario”

Range(“D5”).Select

Columns(“D:D”).ColumnWidth = 14.29

Range(“A2”).Select

With Selection.Font

.Name = “Calibri”

.Size = 18

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ThemeColor = xlThemeColorLight1

.TintAndShade = 0

.ThemeFont = xlThemeFontMinor

End With

Selection.Font.Bold = True

Range(“A5:D5”).Select

Selection.Font.Bold = True

With Selection.Font

.Name = “Calibri”

.Size = 12

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ThemeColor = xlThemeColorLight1

.TintAndShade = 0

.ThemeFont = xlThemeFontMinor

End With

Range(“D8”).Select

End Sub

6.- Para ejecutar el macro, hacemos clic en el icono macro, y aparecerán los macros que han sido creados en los libros abiertos. Seleccionamos el macro que deseamos ejecutar y hacemos clic en ejecutar.

ejecutar macro

7.- Se repetirán las acciones grabadas y los textos y formatos serán copiados en la hoja activa, tantas veces como se desee. Este es un ejemplo muy sencillo, pero da la idea de la utilidad de los macros, permitir repetir un conjunto de acciones de manera rápida.

Todos los macros comienzan con la declaración Sub  (Sub es un diminutivo para subrutina, comúnmente llamada macro) que incluye el nombre del macro, seguido de un par de paréntesis. Aquí, la declaración Sub es simplemente Sub Nombre_del_Macro().

Debido a que este macro fue grabado, existe una serie de líneas de comentarios debajo de la declaración Sub que el grabador de macros quiere que tú conozcas. Por ejemplo, veras el nombre del macro, la descripción del macro que hayas introducido en la caja de diálogos, y la notación de las teclas de atajo que le hayas asignado al macro.

Las líneas de comentarios comienzan con un apostrofe, son de color verde lo que las distingue de las líneas de códigos. Las líneas de comentarios no son ejecutables a diferencia de las líneas de códigos que realizan alguna acción cuando el macro es ejecutado.

Las demás líneas en el macro son declaraciones VBA, y representan cada acción que se realizó mientras que el grabador de macro estaba encendido.

Mejorando un Macro con Comentarios y Optimizando el código

El grabador de Macro por lo general crea mucho más código del que es requerido para ejecutar las acciones. La función del grabador de Macro, y la cual la ejecuta impecablemente, es la de producir código VBA que representa cada una de las acciones en la pantalla.

Para Macros que son sencillos, es posible que no se requiera hacer el proceso de edición y si el macro hace la tarea que debe hacer es mejor dejarlo así.

Sin embargo, la mayoría del código VBA que es producido por el grabador de Macros, es de naturaleza excesiva y superflua, lo que es difícil de ignorar. Y si este código va a ser compartido con otros, desearías que tuviera un aspecto pulido y profesional.

Una regla de tonto en VBA es no seleccionar (Select) o activar (Activate) objetos a menos que sea necesario. Los métodos Select y Activate son los grandes culpables de la ejecución de macros retorcidos y lentos.

Por ejemplo en estas dos líneas de macro:

Columns (“A:A”).Select

Selection. Insert Shift:=xlToRight

Estas líneas pueden y deben ser consolidadas en una línea, evitando la actividad de seleccionar.

Columns (“A:A”). Insert Shift:=xlToRight

Lo mismo puede decirse de las siguientes dos declaraciones:

Columns(“C:C”). Select

Selection.Cut Destination:=Columns(“A:A”)

Lo cual puede ser expresado de una manera más compacta

Columns(“C”).Cut Destination:=Columns(“A”)

En VBA se puede actuar directamente en la mayoría de los objetos, la mayoría de las veces, sin la necesidad de seleccionarlos. Cuando se elimina la columna C, no se necesita tocarla para que VBA haga el trabajo.

Columns(“C:C”). Select

Selection.Delete Shift:=xlToLeft

La cual en forma más compacta es:

Colums(“C:C”).Delete Shift:=xlToLeft

El siguiente es un Macro grabado para simplemente mover la columna C a la Columna A.

Sub MyMacro()

‘ MyMacro Macro

‘ Cambia de Columna de 1 a 3

‘ Acceso directo: Ctrl+Mayús+S

Columns(“A:A”).Select

Selection.Insert Shift:=xlToRight

Columns(“D:D”).Select

Selection.Copy

Range(“A1”).Select

ActiveSheet.Paste

Columns(“D:D”).Select

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

End Sub

La siguiente es una edición del Macro, en el cual se han aplicado las reglas aprendidas

Sub MyMacro()

‘ MyMacro Macro

‘ Cambia de Columna de 1 a 3

‘ Acceso directo: Ctrl+Mayús+S

Columns(“A:A”).Insert Shift:=xlToRight

Columns(“D:D”).Cut Destination:=Columns(“A:A”)

Columns(“D:D”).Delete Shift:=xlToLeft

Application.CutCopyMode = False

End Sub

En la versión obtenida de la grabadora de macros se tienen 9 líneas de código y en la versión editada solo 4. Ambas versiones hacen las mismas acciones.

Trampa, el lugar donde se forman los yacimientos

Una trampa es una región del subsuelo que posee las características apropiadas para entrampar los hidrocarburos. Es decir proporciona una roca porosa y permeable para almacenar los hidrocarburos y presenta elementos estructurales y/o estratigráficos que constituyen sellos o barreras que impiden que los hidrocarburos se escapen, permitiendo su entrampamiento.

Existe un mecanismo principal que ayuda a la formación de una acumulación y es la flotabilidad. El hidrocarburo por lo general tiene menor densidad que el agua que esta presente en la formación, y mientras mas liviano sea el hidrocarburo mayor sera su  capacidad para flotar en presencia de agua. Así por la diferencia de densidades el hidrocarburo se moverá  hacia arriba, concentrándose en las partes altas de las estructuras del subsuelo.

Las rocas en el subsuelo tienen diferentes propiedades en cuanto a capacidad de almacenar fluido, porosidad, y a capacidad de permitir el flujo de fluidos a través de ellas, permeabilidad. Las rocas que son porosas y permeables, como las areniscas, calizas fracturadas o dolomitas permiten el almacenamiento y flujo de los hidrocarburos. En cambio las rocas con muy poca permeabilidad, tales como las lutitas y limolitas, restringen el paso de fluido a través de ellas constituyendo sellos.

Las trampas pueden ser de tipo estructural, estratigráfico o mixto dependiendo de cual es el elemento que tenga mayor influencia en el entrampamiento.

Trampas de Tipo Estructural

La estructura es la geometría, la arquitectura que presentan las rocas en el subsuelo. Entre las estructuras que permiten la formación de trampa están:

  • Domos
  • Anticlinales
  • Fallas Normales e Inversas

Domo

Un domo es una estructura de forma circular, que semeja un cuenco o tazón invertido, donde el hidrocarburo por efecto de la diferencia de densidades ha migrado hasta la parte mas alta.

Domo
Estructura domica erosionada, El Ojo del Sahara, en Mauritania.

En un mapa de curvas de contorno un  domo aparece como una serie de curvas de forma casi circular o eliptica concentricas alrededor del punto mas alto que representa el eje del domo.

Curva de nivel de una estructura domica.
Curva de nivel de una estructura domica.

Anticlinales

Un anticlinal resulta de una estructura de rocas plegadas, que forma una onda en las roca con un pico y un valle. La parte alta o pico del pliegue es lo que constituye el anticlinal y la parte del valle corresponde al sinclinal.

 

trampas-2
Diagrama esquemático de un anticlinal.

Al igual que en las estructuras domicas el hidrocarburo debido a la diferencia de densidades migra hacia la parte alta del pliegue, es decir se mueve hacia el tope del anticlinal.

Fallas Normales e Inversas

Una falla es una fractura en la masa de rocas, donde existe un desplazamiento significativos a ambos lados del plano de fractura. Las fallas pueden ser sellantes o no. Cuando las fallas son sellantes constituyen elementos que permiten el entrampamiento de los hidrocarburos.

Falla Normal

Cuando se produce una fractura, se generan dos bloques a lo largo del plano de fractura. Un bloque inferior y un bloque superior. Cuando el bloque superior se mueve hacia abajo con respecto al bloque superior se denomina falla normal.

Falla Inversa

En una falla inversa el bloque superior se mueve hacia arriba con respecto al bloque inferior.

http://www.lacomunidadpetrolera.com/

http://www.academia.edu/8988717/ESTRUCTURA_ESTRUCTURA_GEOLOGICA_GEOLOGICA_Estructuras_sedimentarias_Estructuras_sedimentarias_Estructuras_sedimentarias_Estructuras_sedimentarias_Fallas_Fallas_Fracturas_Fracturas_Pliegues_Pliegues

Que es un Yacimiento

Un yacimiento es un lugar donde algo yace, donde algo se ha depositado y acumulado. En ingles se utiliza la palabra reservoir, que puede traducirse literalmente como reservorio, lo cual da una mejor idea de una reserva, un depósito o acumulación.

Un yacimiento de hidrocarburos podría definirse como a una unidad litológica interconectada hidráulicamente donde se han acumulado hidrocarburos, ya sean líquidos (petróleo, aceite) o gaseosos (gas y condensados). Así el yacimiento consta de dos elementos principales: la roca con sus espacio vacío interconectados que sirven de almacén y medio para el flujo y por otra parte los diferentes fluidos que ocupan esos espacios vacíos.

Los yacimientos se encuentran a diversas profundidades en el subsuelo, que van desde los 0 pies (0 m) a más de 20000 pies (6096 m) de profundidad.

Los hidrocarburos se acumulan en el espacio vacío que se encuentra dentro de la roca.