Inquiridor
Impressão de Formulário

Pergunta
-
Olá pessoal!
Estou precisando desenvolver um botão em uma planilha que ao ser acionado monte um formulário com dados coletados em algumas células e o imprima.
Estou sem saber por onde começar...
Alguém pode me ensinar o caminho das pedras?
quinta-feira, 9 de dezembro de 2010 14:45
Todas as Respostas
-
Quando você diz formulário, você se refere aos UserForms do VBE ou uma outra Planilha (guia) da mesma Pasta de Trabalho?
Felipe Costa Gualberto - http://www.ambienteoffice.com.brdomingo, 12 de dezembro de 2010 12:54 -
Tipo, eu tenho uma planilha com diversas linhas contendo informações ordenadas:
A1 = Nome1
B1 = Viagem1
C1 = Solicitante1
D1 = Destino1
A2 = Nome2
B2 = Viagem2
C2 = Solicitante2
D2 = Destino2
Em uma outra planilha dentro do mesmo arquivo eu tenho um formulário de requisição de viagens que reune as informações por linha da planilha anterior, tipo:
Motorista ='Lista'!A1
Motivo ='Lista'!B1
Solicitante ='Lista'!C1
Destino = 'Lista'!D1
Atualmente eu estou inserindo manualmente as informações no formulário.
Meu desejo é criar um botão que monte automaticamente o formulário com base na primeira planilha e em seguida o imprima.
É possível?
segunda-feira, 13 de dezembro de 2010 11:44 -
Veja se é isso: Você quer montar um formulário para os dados que estão na linha 1, depois outro para dados da linha 2, depois outros para dados linha 3, etc. e depois imprimir cada um dos formulários gerados?
Felipe Costa Gualberto - http://www.ambienteoffice.com.brterça-feira, 14 de dezembro de 2010 00:12 -
Isso mesmo!terça-feira, 14 de dezembro de 2010 09:01
-
Suponha que você tenha uma Pasta de Trabalho com duas Planilhas. A primeira Planilha, que se chama Lista, possui uma tabela com seus dados. A segunda Planilha, que se chama Modelo, possui um formulário padrão.
O código abaixo cria uma nova Pasta de Trabalho que contém um número de Planilhas igual ao número de registros da Planilha Lista. Além disso, ao final da rotina, cada uma das Planilhas estará devidamente povoada com os dados da Planilha Lista.
Sub GeraRelatórios() 'Local onde os valores da Lista são atribuídos na Planilha Modelo Const strNome As String = "E5" Const strIdade As String = "E7" Const strCor As String = "E9" Const strCidade As String = "E11" Dim rLast As Long Dim r As Long Dim wb As Workbook Dim wsThis As Worksheet Dim ws As Worksheet Set wsThis = ThisWorkbook.Sheets("Lista") With wsThis rLast = .Cells(.Rows.Count, "A").End(xlUp).Row Set wb = Workbooks.Add 'A contagem se inicia 2 porque a linha 1 é o cabeçalho For r = 2 To rLast 'Copia um dos Modelos para a nova Pasta de Trabalho ThisWorkbook.Sheets("Modelo").Copy Before:=wb.Sheets(1) Set ws = wb.Sheets(1) 'Renomeia a nova Planilha para, por exemplo, o nome de uma 'pessoa da Planilha Lista: ws.Name = .Cells(r, "A") 'Entra com os registros da tabela em Lista na nova Planilha ws.Range(strNome) = .Cells(r, "A") ws.Range(strIdade) = .Cells(r, "B") ws.Range(strCor) = .Cells(r, "C") ws.Range(strCidade) = .Cells(r, "D") Next r End With End Sub
Se ainda estiver com dúvidas, veja um exemplo pronto em:http://www.ambienteoffice.com.br/excel/gerar_planilhas_com_base_em_uma_planilha_padrao_e_uma_tabela/
Felipe Costa Gualberto - http://www.ambienteoffice.com.brquarta-feira, 15 de dezembro de 2010 01:33 -
Mas vc não conhece um jeito mais simples de fazer? com fórmulas do excel ao invés de VB?quarta-feira, 15 de dezembro de 2010 12:50
-
Mas vc não conhece um jeito mais simples de fazer? com fórmulas do excel ao invés de VB?
Esse código é o mais simples possível. Gaste meia hora do seu tempo tentanto entender, no final da página tem um exemplo pronto para baixar.
Adotar uma solução por fórmulas pode até ser possível, mas além de não ser automatizado, seria perda de tempo implementar.
Felipe Costa Gualberto - http://www.ambienteoffice.com.brquarta-feira, 15 de dezembro de 2010 20:33 -
OK, obrigado.quinta-feira, 16 de dezembro de 2010 09:47