Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

5 macros para el manejo de libros en Excel

| 1 comentario

 1) Crear Libro y copiar  un contenido con Macros

- Crear Libro y copiarle un contenido con Macros

A veces, necesitamos crear un nuevo libro de Excel y pegar algún dato de una tabla a este nuevo libro creado. Este macro, copia un rango de celdas de la hoja activa  y pega la información en un nuevo libro de Excel.

Para lograr a realizar esta tarea se tiene que escribir en un modulo  el siguiente código.

Capture

Crear Libro y copiarle un contenido con Macros

(Para mayor visualización de la imagen, hacer click en la misma)

2) Grabar un libro cuando cambia un rango particular de celdas

A veces, cuando estamos trabajando con información muy importante es imprescindible grabar cada vez que  alguna celda  es modificada. Este macro nos permite definir un rango de celdas, que cuando son modificadas, graba el libro inmediatamente.

Para esto , debes ingresar a la ventana de programador seguir los siguientes pasos.

  1. Hacer doble click en la hoja donde deseas crear este macro
  2. Desplegar la lista como se muestra en la siguiente figura

 

Pasos

(Para mayor visualización de la imagen, hacer click en la misma)

3.Copiar el siguiente codigo  y listo.

Grabar un libro cuando un rango particular de celdas cambian

(Para mayor visualización de la imagen, hacer click en la misma)

3) Impedir el cierre de un libro si no se ha llenado una celda

Cuando manejamos formularios es imprescindible que los formularios estén completos, ya que podemos confundirnos y olvidarnos de llenar alguna información que puede ser muy importante, o simplemente por el apuro o cometer algún error y dejar de llenar algún dato. Para evitar estos problemas de omisión de datos en los formularios, podemos usar el siguiente macro. El cual funciona de la  siguiente forma:

1)Crea un evento que se ejecutara justo antes de apretar el botón de cerrar el libro de excel.

2) Verificamos que la celdas de interés  no este vacío.

3.1)Si la celda se encuentra vacía, se mostrara un mensaje de alerta y se cancelara el cierre del libro.

3.2)Si las celdas no se encuentran vacías, el macro dejara que el libro se cierre

El código que realiza estas funciones es el siguiente:

 

codigo3

(Para mayor visualización de la imagen, hacer click en la misma)

Es importante mencionar que este código debe ser escrito en el en el Workbook que se desea este macros. Para esto ,en la ventado de VBA , bastara con hacer click derecho sobre  Workbook  , seleccionar la opción"ver código".

Fuente:  https://www.excel-avanzado.com/18323/impedir-el-cierre-de-un-libro-si-no-se-ha-llenado-una-celda.html

 

4)Determinar con VBA si un archivo se encuentra abierto

En algunas circunstancias , nos vemos en la necesidad de usar varios libros de Excel simultáneamente, ya sea para manejar varios tipos de información o por alguna otra necesidad. Para estos casos es importante no tener abierto 2 veces un mismo archivo, ya que al hacer esto puede que perdamos alguna información .Para evitar estos problemas, podemos  utilizar este macro que nos permite saber si un archivo se encuentra

abierto.

El siguiente código consta de 2 partes: Función "Prueba_Abierto_Cerrado" ,Programa principal" Uso_archivo"

La función es la que calcula si el libro de interés esta abierto o no, devolviendo un valor lógico de "Verdadero"o"Falso".

El programa principal es el que toma las acciones con el resultado de la función.Esta acción esta dada por un MsgBox  que imprime el estado del libro

 

codigo4

(Para mayor visualización de la imagen, hacer click en la misma)

Fuente:  https://www.excel-avanzado.com/18292/determinar-con-vba-si-un-archivo-se-encuentra-abierto.html

 

5)Abrir un libro siempre en la misma hoja

Algunos libros pueden necesitar abrirse en una hoja especifica, ya que esta puede contener información importante respecto al contenido

Al momento de abrir un libro de Excel , puede que una de las hojas de este libro sea mas importante que las demás, o que esta sea accedida con mayor frecuencia que las demás hojas , por ello podemos usar un Macro que nos permita tener la hoja de interés seleccionada apenas abramos el libro de Excel.

Con el siguiente código ,que es bastante simple, podemos realizar esta función.

codigo5

(Para mayor visualización de la imagen, hacer click en la misma)

Este código debe de estar dentro del libro en el que se abrirá. Además, se debe crear un evento para cada vez que se abra este libro(Workbook_Open()).

Fuente: https://www.excel-avanzado.com/16385/abrir-un-libro-siempre-en-la-misma-hoja.html

Un comentario

  1. Saludos necesito extraer un rango de datos desde otros libros de excel para llenar los elementos de un Combobox, el problema esta en que el metodo tiene que ser dinamico, depende de una selección anterior debe buscar en el libro segun la selección la hoja del libro tambien dependera de una selección anterior, para ello declare variables de tipo workbook y de tipo worksheet que cambien la ruta del lbro y de la celd a abuscar, aqui el codigo que intento

    planta = ComboBox1.Value

    area = CommandButton1.Caption

    Set plantawb = Workbooks(planta)
    eqpo = ComboBox4.Value
    Set eqpows = Worksheets(eqpo)

    eqpows.Activate

    area1 = plantawb.eqpows.Range("A1:A10000").Find(area, lookat:=xlWhole).Address

    With ComboBox3

    Dim n As Integer
    .Clear
    For n = plantawb.eqpows.Range(area1).Offset(1).Column To plantawb.eqpows.Range(area1).Offset(1, -1).End(xlToRight).Column
    .AddItem plantawb.eqpows.Range(area1).Cells(Range(area1).Offset(1).Row, n)
    Next n
    End With

Deja una respuesta

Los campos requeridos estan marcados con *.