Cree nuevos libros de trabajo usando VBA en Microsoft Excel

Anonim

Puede haber casos en los que necesite crear un nuevo libro de trabajo con cierto número de hojas a través de un código vba o una macro. Aquí hay una macro simple que le permite crear un nuevo libro de trabajo> abrir y luego guardar con un máximo de 255 nuevas hojas de trabajo. En esta macro de muestra, crearemos un nuevo libro de trabajo con 10 hojas de trabajo.

Opción explícita

Sub create_workbook ()
Dim wb como libro de trabajo
Establecer wb = NewWorkbook (10)
End Sub

Función NewWorkbook (wsCount As Integer) Como libro de trabajo
Atenuar original Hoja de trabajo Contar como largo
Establecer NewWorkbook = Nada
Si wsCount 255, salga de la función
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Establecer NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Función final

Explicación del código:

Primero tenemos un procedimiento llamado "create_workbook”. En este procedimiento, tenemos una variable wb como libro de trabajo y llamamos a la función NewWorkbook a través de esta variable. Entonces se llama a la nueva función y wscount se establece en 10, que es el recuento de hojas de trabajo en el nuevo libro de trabajo.

Luego vamos a la función llamada que es Función NewWorkbook (wsCount as Integer) como Workbook. El valor de wsCount que es 10 se transmite desde el sub create_workbook.

Establecer NewWorkbook = Nada

Primero, el NewWorkbook no está configurado para nada para que podamos borrar cualquier otro valor que se le pueda asignar en cualquier código anterior.

Si wsCount 255, salga de la función

A continuación, tenemos que comprobar si el valor transmitido desde el sub es menor que 1 o mayor que 255. Si la respuesta es sí a cualquiera de estas comprobaciones, salga de la función.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Hay un parámetro en la página de opciones de Excel donde se establece el número de hojas que se incluirán en un nuevo libro de trabajo. Pasamos este valor a la variable OriginalWorksheetCount.La variable contendrá el número predeterminado de hojas que ya estaba preestablecido en las opciones de Excel.

Application.SheetsInNewWorkbook = wsCount

Luego asignamos el valor de wsCount que se pasa del sub al parámetro en las opciones de Excel para la cantidad de hojas que se incluirán en un nuevo libro de trabajo. Así que ahora este parámetro cambiará del valor anterior a 10. El valor anterior podría ser 1 o 3 o cualquier otro número establecido por el usuario.

Establecer NewWorkbook = Workbooks.Add

Creamos un nuevo libro de trabajo que se asigna a NewWorkbook. Este nuevo libro de trabajo se crea con el número de hojas especificado en wsCount. Verá un nuevo libro de trabajo con 10 hojas titulado Hoja1 a Hoja10. Vea la imagen a continuación para ver el nuevo archivo Book3 que se ha creado.

La siguiente imagen le mostrará la cantidad de hojas que se crearon en el nuevo libro de trabajo.

Además, el número 10 aparecerá en el parámetro Application.SheetsInNewWorkbook en Opciones de Excel como se muestra en la siguiente imagen:

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook se devuelve a su número original que estaba presente antes de que se estableciera wsCount. Entonces, si el número original era 1 o 3, este parámetro ahora volverá a ese número.

Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbenos a sitio de correo electrónico