Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como imprimir certas páginas ou planilhas com base no valor da célula no Excel?

Você já tentou imprimir determinada página ou planilha com base em um valor de célula no Excel? E como conseguir isso? Os métodos neste artigo podem ajudá-lo a resolvê-lo em detalhes.

Imprimir determinada página com base no valor da célula com código VBA
Imprimir determinada planilha com base no valor da célula com código VBA


Imprimir determinada página com base no valor da célula com código VBA


Por exemplo, você deseja que uma determinada página, como a página 1 da planilha atual, seja impressa automaticamente ao inserir o número da página 1 na célula A1 da planilha atual. Você pode fazer o seguinte para alcançá-lo.

1. Selecione a célula que contém o número da página que você deseja imprimir com base e pressione outro e F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela. Então clique inserção > Módulo.

2. Então o Microsoft Visual Basic para Aplicações janela for exibida, copie e cole o seguinte código VBA no Código janela.

Código VBA: Imprimir página com base no valor da célula

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. Pressione F5 chave para executar o código. No surgimento Kutools for Excel caixa de diálogo, clique no botão Sim botão para imprimir determinada página ou clique no botão Não para sair da caixa de diálogo se não quiser imprimir. Veja a imagem:

Em seguida, a janela de visualização de determinada página da planilha atual abre, por favor clique no Impressão botão para iniciar a impressão.


Imprimir determinada página com base no valor da célula com código VBA

Supondo que você queira imprimir a planilha ativa quando o valor na célula B2 desta planilha for igual ao número 1001. Você pode conseguir isso com o seguinte código VBA. Faça o seguinte.

1. Clique com o botão direito no Aba Folha que você deseja imprimir com base no valor da célula e clique em Ver código no menu do botão direito.

2. Então o Microsoft Visual Basic para Aplicações janela for exibida, copie e cole o seguinte código VBA na janela de código.

Código VBA: Imprimir planilha com base no valor da célula

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

Importante: Você pode alterar a célula e o valor da célula no código conforme necessário.

3. Pressione outro + Q para fechar o Microsoft Visual Basic para Aplicações janela.

Ao inserir o número 1001 na célula B2, um Kutools for Excel caixa de diálogo aparece, por favor clique no Sim botão para iniciar a impressão. Ou clique no Não botão para sair da caixa de diálogo diretamente sem imprimir. Veja a imagem:

Dica: Se você deseja imprimir diretamente páginas não consecutivas, como as páginas 1, 6 e 9 na planilha atual, ou imprimir apenas todas as páginas pares ou ímpares, você pode tentar o Imprimir páginas especificadas utilitário pf Kutools for Excel como a imagem abaixo mostrada. Você pode ir para baixe gratuitamente o software sem limitação em 30 dias.


Artigos relacionados:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ryan · 1 years ago
    This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Ryan,
      If you want to print consecutive pages such as 1-5 in a worksheet based on a cell value, please specify a cell such as A1 as Text formatting, type 1-5 into it, keep this cell selecting, and then run the below VBA code.

      Sub Print_Pages()
      Dim xPage As String
      Dim xYesorNo As Integer
      Dim xI As String
      Dim xPArr() As String
      Dim xIS, xIE, xF, xNum As Integer
      xPage = ActiveCell.Value
      xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
      If xYesorNo = vbYes Then
      xPArr() = Split(xPage, "-")
      If UBound(xPArr) = 0 Then
      If IsEmpty(xPage) And IsNumeric(xPage) Then
      MsgBox "Please specify a cell and enter a page in cell"
      Exit Sub
      End If
      xNum = Int(xPage)
      ActiveSheet.PrintOut from:=xNum, To:=xNum, preview:=True
      ElseIf UBound(xPArr) = 1 Then
      On Error GoTo Err01
      xIS = Int(xPArr(0))
      xIE = Int(xPArr(1))
      If xIS < xIE Then
      For xF = xIS To xIE
      ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
      Next
      Else
      For xF = xIE To xIS
      ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
      Next
      End If
      Else
      MsgBox "Please enter the valid data", vbOKOnly, "Kutools for Excel"
      Exit Sub
      End If
      Else
      Exit Sub
      End If
      Exit Sub
      Err01:
      MsgBox "Please enter the correct page scope", vbOKOnly, "Kutools for Excel"
      End Sub
      • To post as a guest, your comment is unpublished.
        Manny · 5 months ago
        Thank you. I have the same issue I want to print pages based on cell value. Lets say variable changes i.e page 1-5 and then some time 2-6. So I have a field which will calculate and will put that in text format as suggested.But for some reason it doesnt work for me. It doesnt prints any pages.
        Can you please advise