Hacer copias de hojas de trabajo para turnos diarios (Microsoft Excel)
Ryan tiene una hoja de cálculo de Excel que necesita usar para cada uno de los 3 turnos todos los días. Hace una copia de esta hoja de trabajo para cada turno, cada día, una y otra vez. Ryan piensa que sería útil si tuviera una macro que pudiera copiar la hoja de trabajo maestra 3 veces para cada día del mes, nombrando las hojas de trabajo «1 de febrero, turno 1», «1 de febrero, turno 2»,
etc. No puede encontrar una macro para hacer algo como esto y se preguntaba si alguien podría ayudarlo.
En realidad, esto no toma tanto tiempo para armarlo como una macro. El truco consiste en recordar que la macro debe copiar su hoja de trabajo maestra 3 veces por cada día del mes deseado. Esto también implica que la macro necesita determinar cuántos días hay en el mes. Una vez que se sabe esto, puede configurar dos bucles For … Next anidados para manejar el proceso de creación real.
Sub CopyShiftSheets() Dim iDay As Integer Dim iShift As Integer Dim iNumDays As Integer Dim wMaster As Worksheet Dim sTemp As String iMonth = 2 ' Set to month desired, 1-12 iCurYear = Year(Now()) iNumDays = Day(DateSerial(iCurYear, iMonth + 1, 0)) Set wMaster = Worksheets("Master") 'change to name of master For iDay = 1 To iNumDays For iShift = 1 To 3 sTemp = MonthName(iMonth) & " " & iDay & " Shift " & iShift wMaster.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = sTemp Next iShift Next iDay End Sub
Tenga en cuenta que el mes deseado (en este caso febrero) se asigna a la variable iMonth y que iCurYear se establece en el año actual. El número de días de ese mes y año se calcula y almacena en iNumDays.
Los dos ciclos For … Next pasan cada día y cada turno, copiando la hoja de trabajo maestra y renombrándola. Cuando haya terminado, su libro de trabajo tendrá todas las hojas de trabajo deseadas, nombradas correctamente. Sin embargo, querrá tener cuidado de no ejecutar la macro dos veces durante el mismo mes.
Si lo hace, se genera un error porque tendrá hojas de trabajo con nombres duplicados en el libro de trabajo.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (13730) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.