Notifications
Clear all

Imprimir Fichas por Código + Intervalo

5 Posts
2 Usuários
0 Reactions
1,393 Visualizações
(@eltonpaulo)
Posts: 31
Eminent Member
Topic starter
 

Amigos, mais uma vez estou aqui.

Nunca precisei gerar um botão de imprimir, tampouco fazer algo como eu preciso agora, para mim, um desafio.

O projeto possui um formulário vba de cadastro de membros para uma igreja. Todos os dados salvos vão para um BD em planilha, nada de anormal até aqui. Em outra planilha existe uma ficha de membro (só fórmulas), em que o usuário altera o código e via procv ele dá o resultado preenchendo a ficha do membro com os dados necessários, lembrando que essa ficha está em uma planilha comum. O userform de cadastro não interfere nela. A ideia é fazer um botao imprimir dentro do userform de cadastro que ao clicar abra outro userform para preencher o código de impressão ou o intervalo de código.

A questão que preciso resolver é a seguinte: Estamos falando de um BD de mais de 800 pessoas essas fichas precisam ser todas impressas para o controle e arquivo físico da igreja. Como que posso fazer um vba que envie para impressão o código digitado em um userform ou um intervalo? Tipo 1: Imprimir Código 5 (então preencher na planilha o código 5 e enviar para impressão) - Tipo 2: Imprimir um intervalo de fichas com base nos códigos, tipo, imprimir do 1 ao 60. Há uma possibilidade de fazer isso de uma maneira funcional ou é melhor imprimir na unha 1 por 1?

 
Postado : 20/07/2017 1:24 pm
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Você pode retornar uma inputbox ao usuário para que ele preencha o código desejado.
Como você não publicou a planilha, farei algo sem parâmetro.

O "Tipo 2" dá mais trabalho, nem me arrisco a criar um modelo sem um parâmetro.

Mas segue minha contribuição para o "Tipo 1", que é mais fácil:

Sub Imprimir ()
Dim wsheet as Worksheet
Dim membro as Variant 
Set wsheet = Sheets("PlanilhaFichaMembro")

wsheet.select
membro = InputBox("Digite o código do membro")
wsheet.Range("endereço da célula onde a fórmula PROCV se baseia").value = membro
wsheet.PrintPreview

End Sub

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 20/07/2017 2:51 pm
(@eltonpaulo)
Posts: 31
Eminent Member
Topic starter
 

Obrigado Leandro. Adaptei tua ideia e consegui fazer aqui. Agora só falta a questão da impressão por intervalo.

Tipo 2, vamos lá? rsrs

 
Postado : 21/07/2017 8:53 pm
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Bom dia, Elton!
Poste a planilha que podemos ver o que dá para ser feito.
Abraços !

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 24/07/2017 5:15 am
(@eltonpaulo)
Posts: 31
Eminent Member
Topic starter
 

Segue aí exemplo irmão. Grato pela tentativa

 
Postado : 26/07/2017 7:29 pm