En este artículo, crearemos una macro para enumerar meses entre el período definido y también el número de días en ese mes en particular. También mostrará el número total de días entre el período definido.
Hemos creado la macro "DaysInPeriod" para enumerar los meses y el número de días de un mes. La macro se puede ejecutar haciendo clic en el botón "Enviar".
Antes de ejecutar la macro, se debe proporcionar información para la fecha de inicio y finalización. Toma el valor en la celda "G6" como fecha de inicio y el valor en la celda "G7" como fecha de finalización. La salida se mostrará a continuación en la celda "F9".
Al hacer clic en el botón enviar, la macro mostrará el nombre del mes en la columna F y el número de días de ese mes en la columna G. La última fila mostrará el número total de días entre el período especificado.
Explicación lógica
En la macro, comenzamos a recorrer desde la fecha de inicio hasta la fecha de finalización especificada. Durante el bucle, verificamos la última fecha de un mes. Si se encuentra la última fecha de un mes, el nombre del mes y el número de días de ese mes se muestran en las columnas F y G. De manera similar, también verificamos la fecha de finalización. Cuando se encuentra la fecha de finalización, se muestra la entrada del último mes y el número de días de ese mes.
Siga a continuación para obtener el código
Opción Explícita Sub DaysInPeriod () Dim StartDate, EndDate As Date Dim intRow As Integer, intDays As Integer 'Eliminando el contenido anterior Rango ("F10: G1048576"). ClearContents' Obteniendo la fecha de inicio y finalización StartDate = Rango ("G6") EndDate = Rango ("G7") 'Inicializando la variable al número de fila inicial intRow = 10' Listando los meses y el número de días desde la fecha de inicio hasta la fecha de finalización Do intDays = intDays + 1 'Verificando la última fecha del mes o cuando StartDate es igual to EndDate If (Month (StartDate) Month (StartDate + 1)) O StartDate = EndDate Then 'Insertando el nombre del mes Cells (intRow, 6) = Format (StartDate, "mmmm")' Insertando el número de días en el mes Cells ( intRow, 7) = intDays 'Moviéndose a la siguiente fila intRow = intRow + 1 intDays = 0 End If' Moviéndose a la próxima fecha StartDate = StartDate + 1 Bucle hasta StartDate> EndDate 'Obteniendo la suma en la última fila Cells (intRow, 6) = Celdas "Total de días" (intRow, 7) = Application.Sum (Range ("G10: G" & intRow)) End Sub
Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico