Crie novas pastas de trabalho usando VBA no Microsoft Excel

Anonim

Pode haver casos em que você precise criar uma nova pasta de trabalho com determinado número de planilhas por meio de um código vba ou macro. Aqui está uma macro simples que permite criar uma nova pasta de trabalho> abrir e salvar com um máximo de 255 novas planilhas. Nesta macro de exemplo, criaremos uma nova pasta de trabalho com 10 planilhas.

Opção Explícita

Sub create_workbook ()
Dim wb como pasta de trabalho
Definir wb = NewWorkbook (10)
End Sub

Função NewWorkbook (wsCount As Integer) As Workbook
Dim OriginalWorksheetCount como longo
Definir NewWorkbook = Nothing
If wsCount 255 Then Exit Function
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Definir NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Função Final

Explicação do código:

Primeiro, temos um procedimento chamado “create_workbook”. Neste procedimento, temos uma variável wb como pasta de trabalho e chamamos a função NewWorkbook por meio dessa variável. Portanto, a nova função é chamada e o wscount é definido como 10, que é a contagem de planilhas na nova pasta de trabalho.

Em seguida, vamos para a função chamada que é Função NewWorkbook (wsCount as Integer) como Workbook. O valor de wsCount, que é 10, é transmitido do sub-rotina create_workbook.

Definir NewWorkbook = Nothing

Primeiro, o NewWorkbook é definido como nada para que possamos limpar qualquer outro valor que poderia ser atribuído a ele em quaisquer códigos anteriores.

Se wsCount 255, então saia da função

Em seguida, temos que verificar se o valor transmitido do sub é menor que 1 ou maior que 255. Se a resposta for sim para qualquer uma dessas verificações, saia da função.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Há um parâmetro na página de opções do Excel onde o número de planilhas a serem incluídas em uma nova pasta de trabalho é definido. Passamos este valor para a variável OriginalWorksheetCount.A variável conterá o número padrão de folhas que já foi pré-configurado nas opções do excel.

Application.SheetsInNewWorkbook = wsCount

Em seguida, atribuímos o valor de wsCount que é passado do sub para o parâmetro nas opções do Excel para o número de planilhas a serem incluídas em uma nova pasta de trabalho. Portanto, agora este parâmetro mudará do valor antigo para 10. O valor antigo pode ser 1 ou 3 ou qualquer outro número definido pelo usuário.

Definir NewWorkbook = Workbooks.Add

Criamos uma nova pasta de trabalho que é atribuída a Nova pasta de trabalho. Esta nova pasta de trabalho é criada com o número de planilhas especificado em wsCount. Você verá uma nova pasta de trabalho com 10 planilhas intitulada Sheet1 to Sheet10. Veja a foto abaixo para o novo arquivo Book3 que foi criado.

A imagem abaixo mostrará o número de planilhas que foram criadas na nova pasta de trabalho.

Além disso, o número 10 aparecerá no parâmetro Application.SheetsInNewWorkbook nas Opções do Excel como na imagem abaixo -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook é retornado ao seu número original, que estava presente antes de o wsCount ser definido. Portanto, se o número original era 1 ou 3, este parâmetro agora retornará para aquele número.

Se você gostou de nossos blogs, compartilhe com seus amigos no Facebook. E você também pode nos seguir no Twitter e no Facebook.
Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar, complementar ou inovar nosso trabalho e torná-lo melhor para você. Escreva-nos em site de email