Introducir datos en varias hojas de cálculo simultáneamente – Parte 2

En 02/09/2010, en Tips, Tutoriales Excel, por dcedeno

Rutina de VBA en MS Excel a aplicar en aquellos casos en los que deseamos introducir un mismo dato en varias hojas de cálculo de forma simultánea

En un anterior artículo detallábamos para ustedes como podíamos introducir datos en varias hojas de cálculo simultáneamente en forma manual a través de un sencillo método de teclado. No obstante comentábamos también entorno a la desventaja que ofrecía este método manual dado que resultaba muy fácil de olvidar en que momento se encontraban o no agrupadas las hojas de cálculo, por lo que en consecuencia nos dejaba expuestos a cometer potenciales errores que afectaran la integridad de los datos.

Estos potenciales inconvenientes pueden ser fácilmente evitados empleando un sencillo código de VBA que les detallaremos a través del presente artículo.

Lo primero que debemos hacer para que nuestro código funcione sin inconvenientes es dar nombre al rango de celdas que deseamos tener agrupadas en las hojas de cálculo que serán cargadas de forma simultánea.

Recuerden que es muy sencillo efectuar esta tarea y disponemos de varias alternativas para hacerlo tales como emplear el cuadro de nombres, en la ficha fórmulas el apartado Nombres definidos, etc. Una opción simple es seleccionar el rango de celdas y escribir el nombre que queramos directamente en el cuadro de nombres, tal como lo pueden apreciar en la imagen anexa:

Una vez hemos definido en nuestra hoja principal cual es el rango de celdas que deseamos tener agrupadas de forma que los datos se introduzcan automáticamente en el resto de las hojas de cálculo debemos escribir nuestro código de VBA en un módulo privado del objeto Sheet (Hoja), dado que para su funcionamiento este particular es fundamental.La forma más rápida de acceder al módulo privado de una hoja de cálculo es hacer clic derecho del ratón en la pestaña con el nombre de la hoja y seleccionar la opción “Ver código”, tal como se aprecia en la imagen anexa:

Para comprobar que nos encontramos en el módulo privado correcto tan solo debes mirar el estado del menú desplegable que se encuentra en el extremo izquierdo superior de la ventana Código y verificar que muestre por defecto la palabra Worksheet. Si en lugar de ello muestra la palabra General debemos cambiarlo a Worksheet antes de proceder a escribir el código, tal como lo pueden apreciar en la siguiente imagen:

Una vez estemos en el módulo privado deseado comenzaremos a escribir el siguiente código:

[codesyntax lang="vb"]

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("Mi_Rango"), Target) Is Nothing Then
    'Hoja1 se ha colocado de primero a propósito ya que será
    'la hoja activa desde la que trabajaremos
        Sheets(Array("Hoja1", "Hoja2", "Hoja3")).Select
    Else
        Me.Select
    End If
End Sub

[/codesyntax]

En este ejemplo del código hemos utilizado el rango que nombramos inicialmente como “Mi_Rango” pero pueden cambiar este nombre por cualquiera que ustedes estén utilizando en su hoja de cálculo. También será necesario cambiar los tres nombres de las hojas de cálculo (en nuestro caso “Hoja1″, “Hoja2″ y “Hoja3″) por aquellos nombres de hojas que desea agrupar. Una vez haya culminado de ajustar el código a sus necesidades pulse en el editor de VBA Ver Microsoft Excel, cierre la ventana del módulo o pulse el método abreviado Alt/Comando-Q para volver a la ventana principal de MS Excel. No olviden guardar el libro.

Pueden probar sin inconvenientes que una vez escrito el código en el módulo adecuado cada vez que seleccionen una celda de la hoja de cálculo el código comprobará si la celda que ha seleccionado está dentro del rango definido. Si es así el código agrupará entonces de forma automática las hojas de cálculo que deseas agrupar, conforme que si no es así el código desagrupará las hojas de cálculo activando simplemente la hoja en la que te encuentras trabajando.

A diferencia del método descrito en nuestra anterior publicación sobre el tema (Introducir datos en varias hojas de cálculo simultáneamente en forma manual) no existe necesidad de agrupar y desagrupar de forma manual las hojas por lo que no existe riesgo de cometer errores por descuido u olvido a la par que se ahorra significativo y valioso tiempo.

Les dejo anexo el archivo con el que preparamos esta práctica para que puedan trabajar directamente con el mismo:

Descargar archivo para versión MS Excel 2003

Descargar archivo para versión MS Excel 2007

No olviden que estamos completamente a su disposición para cualquier particular en el que podamos resultar de utilidad. Recuerden que pueden comentarnos sus puntos de vistas, dudas, consultas, inquietudes, opiniones o aportes empleando nuestro sistema de comentarios o simplemente integrándose a la creciente comunidad de nuestro E-Forum.

Saludos y éxito para todos,

El Equipo EXCELLENTIAS.COM

Etiquetado con: 

¿Buscando algo?

Utilice el siguiente formulario para buscar en el sitio:

¿Todavía no encuentras lo que estás buscando? Deja un comentario sobre un artículo o ponte en contacto con nosotros para que podamos ayudarte

Free WordPress Themes