Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Imprimir com numero de Serie.
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Sex Mar 29, 2019 8:10 am
Imprimir com numero de Serie.
Olá bom dia pessoal, sou novo aqui e tbm novo com vba, e preciso de uma ajuda, estou criando um formulário no Excel que pode ser preenchida pelo computador ou a mão pelo usuário, então criei uma Userform para controlar alguns dados, numero de serie do documento q vai na célula (SERIE) e para salvar em xls. salvar em PDF e para imprimir, to usando a seguinte macro pra imprimir:
Sub Imprime()
ActiveWindow.SelectedSheets.PrintOut Copies:=Textbox2.Value, Collate:=True, _
IgnorePrintAreas:=FalseOrder = xlOverThenDown
End Sub
Quando o usuário for imprimir ele define a quantidade de cópias pelo Textbox2, até ai tudo certo. Porém gostaria que quando ele imprimisse várias cópias, pudesse mudar automaticamente o numero do documento que fica na célula (SERIE) cada cópia. Também usei a seguinte macro mudar o valor da célula (SERIE)
Sub Serial ()
Range("SERIE").Value = Range("SERIE").Value + 1
End Sub
Mais não consigo juntar as duas pra realizar o q eu preciso, será q poderiam me ajudar
Sub Imprime()
ActiveWindow.SelectedSheets.PrintOut Copies:=Textbox2.Value, Collate:=True, _
IgnorePrintAreas:=FalseOrder = xlOverThenDown
End Sub
Quando o usuário for imprimir ele define a quantidade de cópias pelo Textbox2, até ai tudo certo. Porém gostaria que quando ele imprimisse várias cópias, pudesse mudar automaticamente o numero do documento que fica na célula (SERIE) cada cópia. Também usei a seguinte macro mudar o valor da célula (SERIE)
Sub Serial ()
Range("SERIE").Value = Range("SERIE").Value + 1
End Sub
Mais não consigo juntar as duas pra realizar o q eu preciso, será q poderiam me ajudar
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Imprimir com numero de Serie.
Sem testar, mas experimente
Código: Selecionar todos
Sub Imprime()
Dim Qtde As Integer, x As Integer
'Caso textbox2 fique sem valor
If Textbox2.Value = "" Then
x = 1
Else
x = Textbox2.Value
End If
For Qtde = 1 To x
ActiveWindow.SelectedSheets.PrintOut Copies:=Qtde, Collate:=True, _
IgnorePrintAreas:=FalseOrder = xlOverThenDown
Range("SERIE").Value = Range("SERIE").Value + 1
Next
End Sub
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Sex Mar 29, 2019 8:10 am
Re: Imprimir com numero de Serie.
bom dia Reinaldo
Obrigado pela ajuda só to conseguindo testar hoje, a macro funcionou só q ta imprimindo a qtde de cópia do Textbox2 exemplo: insiro 2 copias no Textbox2 ela imprime 2 cópias de cada formulário q ela alterou 2 cópias do formulário 1, 2 cópias do formulário 2
Obrigado pela ajuda só to conseguindo testar hoje, a macro funcionou só q ta imprimindo a qtde de cópia do Textbox2 exemplo: insiro 2 copias no Textbox2 ela imprime 2 cópias de cada formulário q ela alterou 2 cópias do formulário 1, 2 cópias do formulário 2
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Imprimir com numero de Serie.
Não entendi? A impressão e da planilha selecionada/em evidencia "SelectedSheets", nada sobre formulario(s)
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Sex Mar 29, 2019 8:10 am
Re: Imprimir com numero de Serie.
Oi Reinaldo,
Ela faz a alteração na da "SERIE", e imprime a "SelectedSheets", porém ela imprime a quantidade de cópias da Textbox2. exemplo:
se eu preencho a Textbox2 com valor "4" ela deveria imprimir, a primeira impressão célula "SERIE" valor "1", Segunda impressão "SERIE" valor "2" , terceira impressão "SERIE" valor "3", impressão "SERIE" valor "4".
Só q ela imprime 4 cópias da impressão "1", 4 impressão "2", 4 impressão "3", 4 impressão "4".
Obs. o documento é chamado de formulário de permissão pra trabalho por o equivoco, me expressei errado na msg anterior
Ela faz a alteração na da "SERIE", e imprime a "SelectedSheets", porém ela imprime a quantidade de cópias da Textbox2. exemplo:
se eu preencho a Textbox2 com valor "4" ela deveria imprimir, a primeira impressão célula "SERIE" valor "1", Segunda impressão "SERIE" valor "2" , terceira impressão "SERIE" valor "3", impressão "SERIE" valor "4".
Só q ela imprime 4 cópias da impressão "1", 4 impressão "2", 4 impressão "3", 4 impressão "4".
Obs. o documento é chamado de formulário de permissão pra trabalho por o equivoco, me expressei errado na msg anterior
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Imprimir com numero de Serie.
Como disse sem testar por estar postando uma rotina às cegas (sem ver/enxergar seu modelo/realidade)
o trecho:
o trecho:
deveria a cada impressão alterar essa celula (range("serie")) se não acontece, e necessario "ver" seu modeloIgnorePrintAreas:=FalseOrder = xlOverThenDown
Range("SERIE").Value = Range("SERIE").Value + 1