Macro para agregar informe diario - Consejos de Excel

Judith publicó la pregunta de Excel de esta semana.

Necesito importar un archivo a diario. Me gustaría agregar el archivo todos los días a un libro de Excel existente y tener la hoja de trabajo con el nombre de d / m / a.

Una breve macro visual básica hará que esta sea una tarea sencilla. Un problema: el nombre de la pestaña de una hoja no puede incluir una barra. Por lo tanto, la solución cambiará el nombre de la hoja de cada día para que tenga un nombre como "03 de octubre de 1999".

La solución consiste en agregar una hoja de trabajo superior a su libro existente. Esta hoja, llamada "Menú", proporciona una interfaz de usuario simple para que pueda entregar esta tarea a otro miembro del personal, si es necesario. La hoja superior contiene celdas donde el usuario puede especificar el nombre de la ruta y el nombre del archivo que se va a importar. Si está importando un archivo creado por otro sistema, estos campos no cambiarán de un día para otro. La hoja de Menú también contiene una celda con la fecha actual formateada sin barras. Incluiré una macro de apertura automática que completará automáticamente esta celda para el usuario, pero siempre es libre de cambiarla antes de hacer clic en el botón para importar el archivo. Finalmente, la hoja de Menú tiene un botón grande en el que el usuario hará clic.Este botón invocará la macro para importar el archivo nombrado en el menú en el libro actual con el nombre de la pestaña especificado.

Hoja de trabajo del menú

Abra un nuevo libro de trabajo con una sola hoja. Haga doble clic en la pestaña de la hoja y escriba un nombre para la hoja llamada "Menú". Agrega un bonito título en la celda A1. En las celdas C3: C5, agregue el texto como se muestra a la izquierda. En la celda D3, ingrese la ruta del directorio donde se encuentra el archivo cada día. En la celda D4, agregue el nombre del archivo. Deje D5 en blanco. Es más fácil configurar el botón una vez que se crea la macro, así que lo dejaremos para más adelante.

  • Inicie el Editor de macros con alt = "" + F11
  • Elija Insertar - Módulo
  • Copie el siguiente texto en el editor de macros
Sub Auto_Open() ' This macro will put today's date as the default new tab name Sheets("Menu").Select Range("D5").Select Selection.Formula = "=text(now(),""mmm dd yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlValues Application.CutCopyMode = False Selection.Columns.AutoFit Range("D8").Value = "" End Sub Sub GetFile() ' This macro will import a file into this workbook ' Copyright 1999 www.MrExcel.com Sheets("Menu").Select PathName = Range("D3").Value Filename = Range("D4").Value TabName = Range("D5").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Filename ActiveSheet.Name = TabName Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1) Windows(Filename).Activate ActiveWorkbook.Close SaveChanges:=False Windows(ControlFile).Activate Sheets("Menu").Select Range("D8").Select ActiveCell.Value = "Completed" Range("D9").Select End Sub

Ahora, regrese a Excel y agregue un botón a la hoja de Menú.

Cómo agregar un botón a una hoja de trabajo

Agregar botón
  • Muestre la barra de herramientas de formularios seleccionando Ver - Barras de herramientas - Formularios
  • Seleccione la herramienta Botón de la barra de herramientas
  • Mantenga presionada la tecla alt = "", arrastre desde la esquina superior de B8 a la celda C9
  • En el cuadro de diálogo Asignar macro, elija nuestra macro llamada GetFile y haga clic en Aceptar
  • Mientras el botón aún está seleccionado, puede hacer clic y arrastrar para seleccionar el texto en el botón. Reemplace este texto con "¡Proceso!" o cualquier texto que elijas

Ahora tienes la aplicación completa. Guarde el archivo en un lugar conveniente. Una vez que configure su archivo con la información correcta en las celdas D3: D4, el procedimiento diario será el siguiente:

  • Abra el archivo que acabamos de crear
  • Verifique que la fecha que se muestra en la celda D5 sea la adecuada.
  • Haz clic en el botón grande.
  • Guarda el archivo

A continuación, se muestran algunas formas en las que puede cambiar la macro:

  • Si desea que la pestaña tenga el nombre de la fecha del día anterior, agregue un "-1" después de "NOW ()" en la macro.
  • Si el archivo que se va a importar tiene varias hojas y es posible que la hoja de destino no esté en la parte superior, agregue Hojas ("nombre de hoja"). Seleccione después de la línea File.Open arriba.

Articulos interesantes...