Você não pode imprimir diretamente cada folha um de cada vez usando um único comando do Excel. No entanto, você pode conseguir isso usando uma combinação de código VBA e um loop. Aqui está como:
1. Ativar a guia Desenvolvedor: * Vá para
File> Opções> Personalize Ribbon .
* Verifique a caixa ao lado de
desenvolvedor e clique em
ok .
2. Insira o código VBA: * Clique no
desenvolvedor guia e selecione
Visual Basic .
* No projeto
Janela, clique com o botão direito do mouse
thisworkbook e escolha
inserir> módulo .
* Cole o seguinte código no módulo:
`` `VBA
SubpriptSheetsIndividualmente ()
Dim WS como planilha
'Faça um loop através de cada folha na pasta de trabalho
Para cada ws em thisworkbook.worksheets
'Imprima a folha atual
cópias ws.printout:=1, colar:=true
'Aguarde a impressão terminar (opcional)
Application.wait Now + timeValue ("00:00:05") 'Aguarde 5 segundos
Próximo ws
Final sub
`` `
3. Execute a macro: * Feche o
Visual Basic Editor .
* Volte ao desenvolvedor
guia e clique em
macros .
* Selecione o
PrintSheetsIndividualmente macro e clique em
executar .
Explicação: *
`sub PrintSheetsIndividualmente ()`: Define o nome da macro.
*
`dim ws como planilha ': Declara uma variável para representar cada planilha.
*
`para cada ws em thisworkbook.worksheets`: Loops através de todas as folhas da pasta de trabalho.
*
`ws.printout cópias:=1, colar:=true`: Imprime a planilha atual (usando `ws`), com uma cópia e páginas coletadas.
*
`Application.wait Now + timeValue (" 00:00:05 ")`: Essa linha opcional aguarda 5 segundos após a impressão de cada folha para garantir que o processo de impressão seja concluído antes de passar para a próxima folha. Ajuste o tempo de espera conforme necessário.
*
`Next ws`: Termina o loop e continua para a próxima folha.
Notas importantes: * O código pressupõe que você tenha uma configuração de impressora padrão. Caso contrário, você pode especificar a impressora usando `ws.printout impressora:=" YourPrinterName "`.
* O
`wait` A instrução pode ser útil para evitar erros se a impressão levar uma quantidade significativa de tempo. Ajuste o tempo de espera conforme necessário.
Alternativa:Usando um loop e `Printout` Método (sem VBA): Embora esse método não imprima cada folha individualmente, você pode usar um loop em uma fórmula celular para acionar o processo de impressão:
1. Em uma célula, insira a seguinte fórmula:
`` `Excel
=If (linha () <=sheets (), "folha de impressão" e linha (), "")
`` `
2. Copie esta fórmula para o número de folhas em sua pasta de trabalho.
3. Use as etapas a seguir para imprimir cada folha usando o
`printout` método:
* Vá para
arquivo> imprima .
* Na faixa de impressão
suspenso, selecione
seleção .
* Clique em
Imprima .
Isso acionará o processo de impressão para cada folha enquanto você copia a fórmula na coluna.
Escolha o método que melhor atenda às suas necessidades e preferências.