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.
(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.
- Hacer doble click en la hoja donde deseas crear este macro
- Desplegar la lista como se muestra en la siguiente figura
(Para mayor visualización de la imagen, hacer click en la misma)
3.Copiar el siguiente codigo y listo.
(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:
(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
(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.
(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
23/05/2019 a las 9:59 am
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